binbin-412434 发表于 2013-1-13 22:52:33

求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

用STVD编译器,集成cosmic,可以查看实际使用RAM,EPROM,等存储空间使用情况
编译结果实际使用RAM为4K多,就提示堆栈溢出,为什么????求赐教

发表于 2013-1-14 09:39:15

RE:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

因为有一些空间是用来放寄存器和堆栈的。这个你可以看一下RAM的占用情况。

pmh13676424005 发表于 2013-1-14 09:48:07

回复:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

RAM仅指RAM变量(全局+静态+局部变量),不包括栈(stack),所以不够了。

binbin-412434 发表于 2013-1-14 10:04:02

回复:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

我把STVD的RAM的设置改大一点,在编译后竟然可以正常运行

binbin-412434 发表于 2013-1-14 10:06:39

回复:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

回复第 3 楼 于2013-01-14 09:48:07发表:
RAM仅指RAM变量(全局+静态+局部变量),不包括栈(stack),所以不够了。
 

 

binbin-412434 发表于 2013-1-14 10:08:56

回复:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

ram:5763   flash:45323   eeprom:0   stack:381
编译后结果

binbin-412434 发表于 2013-1-14 10:29:31

回复:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

回复第 2 楼 于2013-01-14 09:39:15发表:
因为有一些空间是用来放寄存器和堆栈的。这个你可以看一下RAM的占用情况。 

 

binbin-412434 发表于 2013-1-14 10:31:11

回复:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

回复第 2 楼 于2013-01-14 09:39:15发表:
因为有一些空间是用来放寄存器和堆栈的。这个你可以看一下RAM的占用情况。 

我通过修改STVD的设置的RAM区间大小,编译器默认是4K,我改成6K,这种做法合理么?????求解

binbin-412434 发表于 2013-1-14 11:54:48

回复:求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出

:'(管理员能给解答一下么??
页: [1]
查看完整版本: 求解答!!!STM8实际RAM大小6K,为什么用4K就提出堆栈溢出