C6414在使用仿真器编译时发现,SRAM中0x0地址如果在MAP文件中被编译为数据读写空间,则在task切换时会出现heap空间溢出的问题;如果被用作代码段则不会出现上述问题。后来我将0x0到0x400的空间保留不使用,仿真也再没出现heap空间溢出问题。我想问一下,如果C6414的0x0起始的一段空间是否是系统保留有特殊用处,应保留多大的空间?如果不是系统保留地址的话,是否是0x0地址仅仅不能被用作数据空间随意读写?是否可以用于存放代码段?
Tony Tang:
没有这个限制,尤其是在仿真的时候。如果是boot时,前1K是代码从flash搬过来的目的地址。
heap溢出是大小不够啊。
TI中文支持网
