/ f* z' ?( S" X% w
一段很简单的malloc动态内存分配测试程序,当MaxNum为600时,动态内存申请就失败,malloc返回值为NULL。当MaxNum为较小值是就可以。- l3 g2 P+ V- D8 h
所以这是一个内存大小限制的问题。我想知道这个内存大小限制在哪里。创龙的软件硬件工程师们,能否帮我解答一下这个问题。以下是我的.cmd文件。将动态内存分配的段放在DDR2下,但是DDR2的大小并不是我上文中提到的这个”限制“所在。" n' D8 M; H3 Y( z$ s$ s/ R
s1 i R. d- D6 }* J. @/ _
广州创龙莫工 发表于 2018-7-31 08:40 , \' Z4 Z% M. h, _9 g您好: 5 k1 F/ o! D. h9 C" ?8 `1 q7 h 您可以在.cmd文件那里去修改堆栈的大小。
/ B) J5 o8 ]0 h T* Z- {
莫工,您好!6 x: s; l, u+ Q4 M L( z
) \9 u9 f( @5 ?6 v2 \2 A' \
这是我的.cmd文件,我将malloc产生内存的区域.sysmem段放在32KB的L1DRAM下。理论上malloc 600个int也就是2400个字节才2~3KB理论上空间是足够的。但就是malloc失败,如下图,所以能否帮忙测试解答一下呢?万分感谢!/ U, d! ?! \) V