如何更改进程虚拟内存的堆的起始地址

时间:2014-01-08 07:07:29

标签: arm embedded-linux

我正在将代码从一个板移植到另一个板(arm处理器从imx27到imx6)并且要求堆必须从大于1GB的地址开始,堆栈和其他进程内存映射到1 GB以上但是一些区域是映射到1 GB以下。

要求是因为应用程序中的内部代码逻辑,其中数据处于闪存或RAM中,因此无法更改它。

我写了一个小程序并检查了地图文件,以供您参考2个板。

B板具有所需的范围,而A板是我想要改变的地方。

主板A:
/ home #cat / proc / 1133 / maps
00008000-00009000 r-xp 00000000 1f:05 12 / home / mem
00010000-00011000 rw-p 00000000 1f:05 12 / home / mem
00011000-00032000 rw-p 00000000 00:00 0 [堆]
........................................
7eda3000-7edc4000 rw-p 00000000 00:00 0 [stack]
ffff0000-ffff1000 r-xp 00000000 00:00 0 [向量]

B板:
/ home #cat / proc / 1233 / maps
80000000-8020e000 r-xp 00000000 1f:04 33 / home / mem
80216000-8021a000 rw-p 0020e000 1f:04 33 / home / mem
8021a000-80715000 rwxp 8021a000 00:00 0 [堆]
........................................
becd8000-beced000 rwxp befeb000 00:00 0 [stack]

0 个答案:

没有答案
相关问题