TI论坛
直播中

林旭

7年用户 207经验值
私信 关注
[问答]

使用malloc发现分配的地址为0x00000002

各位好,我在使用2837xD的CPU2时,使用malloc,发现分配的地址为0x00000002,我在配置里改过的堆的大小,heap配置改为了0x4000;cmd里的.esystem段也作了相应的修改(见附件),理论来说分配的地址应该从esystem段的首地址开始的啊。
如果不修改CMD文件的.esystem段的话,malloc是正常的。但我需要分配的动态内存较大,将.esystem的地址修改成一个较大的区域,malloc分配的时候就会从0x00000000开始分配。

回帖(3)

胡红枚

2018-12-12 11:31:55
请参考帖子:
http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/5006.aspx
举报

林旭

2018-12-12 11:43:43
引用: oiewjrj 发表于 2018-12-12 16:08
请参考帖子:
http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/5006.aspx

如果不修改CMD文件的.esystem段的话,malloc是正常的。但我需要分配的动态内存较大,将.esystem的地址修改成一个较大的区域,malloc分配的时候就会从0x00000000开始分配。
举报

周静

2018-12-12 11:55:04
引用: lxz0404 发表于 2018-12-12 16:19
如果不修改CMD文件的.esystem段的话,malloc是正常的。但我需要分配的动态内存较大,将.esystem的地址修改成一个较大的区域,malloc分配的时候就会从0x00000000开始分配。

Hi,这是内存分配失败了,需要查下地址表,看下是不是溢出。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分