在嵌入式系统中永久分配内存

时间:2012-11-11 14:07:59

标签: c memory embedded busybox

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

要求是:

  1. 在内存中分配一些位置(操作系统分配了内存并将我的地址返回给我)。
  2. 此位置应该在那里,直到操作系统运行。
  3. 尺寸是一个参数。
  4. 我想使用busybox devmem命令读取和写入此位置。

2 个答案:

答案 0 :(得分:1)

您可以使用bigphysarea在启动时分配一些内存。 大小可以在linux内核参数中提供,你只需添加类似的东西:

bigphysarea=2

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

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

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

答案 1 :(得分:0)

您可以将一些内存安装到文件系统,如tmpfs,然后只在分区上操作文件。

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