0

我的要求很简单。我在嵌入式平台上运行 ubuntu。我想在内存中分配一些永久位置(我知道 DRAM 的起始地址)。我想要的只是操作系统不应该触及内存,我可以在该内存上执行自定义操作(例如收集一些统计数据并写入该位置)。

要求是:

  1. 在内存中分配一些位置(操作系统分配了内存并将地址返回给我,这对我来说很好)。
  2. 在操作系统运行之前,该位置应该存在。
  3. 尺寸是一个参数。
  4. 我想使用busybox devmem 类型的命令来读写这个位置。
4

2 回答 2

1

您可以使用 bigphysarea 在启动时分配一些内存。大小可以在 linux 内核参数中提供,您只需附加如下内容:

bigphysarea=2

其中 2 表示 2 页 (2*4K)

这将允许您分配一个连续的内存供您的驱动程序使用。

我不确定你想做什么,但请注意这种分配只能从内核模式访问。

于 2012-11-11T16:52:41.270 回答
0

您可以将一些内存挂载到文件系统,例如tmpfs,然后只操作分区上的文件。

例如,http://www.cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem/

于 2012-11-11T15:08:19.693 回答