现有一个算法,要求动态申请一个比较大的空间,我将堆内存大小 -heap 设置成0x1000000,然后用malloc动态申请 155136*8的一块空间,代码运行时,程序未能正常分配到空间;当动态申请155135*6的一块空间时,能正常申请。
不知道哪位有遇到过这样的问题。是不是在CCS中一次malloc申请空间的大小不能超过 1MB ?
Wu Feng:
或者CCS在什么地方没有设置好?
Andy Yin1:
我做了个测试如下,是可以分配成功的。
修改cmd:
-heap 0x1000000
.sysmem > DDR3
在代码中增加:
int *MemPtr;
MemPtr = (int *)malloc(155136*8);
运行之后是可以得到MemPtr为有效的DDR地址。
把你的具体测试代码及现象描述一下吧,谢谢。