返回该小组首页 回复主题
shanyming

shanyming

小组等级:     E币:220  (E币换礼)

#1楼主:IAREW编译出错

文章发表于:2008-08-19 08:24

请问各位:

我的程序不正常了

The stack 'CSTACK' is filled to 100% (1536 bytes used out of 1536). The warning threshold is set to 90.%
这个错误是不是堆栈溢出了?在哪改堆栈呢?我在这里

-D_CSTACK_SIZE=600
-D_HEAP_SIZE=300

改了之后程序还是会跑飞,各位指教一下吧

STM32

   小组等级:    E币:4155  (E币换礼)

#2

文章发表于:2008-08-19 23:31

程序跑飞与编译得到警告是两回事,跑飞的程序也有警告吗?有警告并不一定是程序跑飞原因。

shanyming

   小组等级:    E币:220  (E币换礼)

#3

文章发表于:2008-08-20 07:41

是这样的,我的触摸屏程序随着我的操作往下执行以后,执行到一定地步程序就不正常了,返回起始位置了,我此时暂停程序就会有以下提示

The stack 'CSTACK' is filled to 100% (1536 bytes used out of 1536). The warning threshold is set to 90.%

不对触摸屏操作的话没问题,暂停程序也没有如上提示。

hoolheart

   小组等级:    E币:314  (E币换礼)

#4

文章发表于:2008-08-20 22:20

从表象来看,应该是堆栈溢出的现象,你的程序中可能开启了太多的中断,每一次中断都会消耗至少五、六十个字节的堆栈空间,如果程序中发生中断嵌套的现象且程序的深度过大,默认的400堆栈空间就有可能不够用。

应该优化程序的深度,尤其是注意尽可能的减少发生中断嵌套的可能。当然也可以进一步加大堆栈空间看看效果。

总共 , 当前 /

快速回复主题--如果想加入编辑器功能,建议使用 [高级回复]

您目前还不是小组成员,请先加入

回复贴子区

用户名:    您没有注册?

密码:    忘记了密码?

内容:

  • DesignDesign
  • HTMLHTML

浏览该小组的用户还看过...

设计资源与分销

所有小组精华文章