各位好,我在使用2837xD的CPU2时,使用malloc,发现分配的地址为0x00000002,我在配置里改过的堆的大小,heap配置改为了0x4000;cmd里的.esystem段也作了相应的修改(见附件),理论来说分配的地址应该从esystem段的首地址开始的啊。
如果不修改CMD文件的.esystem段的话,malloc是正常的。但我需要分配的动态内存较大,将.esystem的地址修改成一个较大的区域,malloc分配的时候就会从0x00000000开始分配。
mangui zhang:
请参考帖子:
http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/5006.aspx
各位好,我在使用2837xD的CPU2时,使用malloc,发现分配的地址为0x00000002,我在配置里改过的堆的大小,heap配置改为了0x4000;cmd里的.esystem段也作了相应的修改(见附件),理论来说分配的地址应该从esystem段的首地址开始的啊。
如果不修改CMD文件的.esystem段的话,malloc是正常的。但我需要分配的动态内存较大,将.esystem的地址修改成一个较大的区域,malloc分配的时候就会从0x00000000开始分配。
snap xie:
回复 mangui zhang:
如果不修改CMD文件的.esystem段的话,malloc是正常的。但我需要分配的动态内存较大,将.esystem的地址修改成一个较大的区域,malloc分配的时候就会从0x00000000开始分配。