IAR+EK_SMT32F调试警告信

[复制链接]
5346|10
 楼主| zhongwei 发表于 2007-12-21 20:07 | 显示全部楼层 |阅读模式
各位请帮我看一下,当程序down时芯片ram启动运行后,每次IDE的break或reset后都出现下面提示信息,这是咋回事啊.请热心人解答,谢谢了
Fri Dec 21 20:04:36 2007: The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.%
bluearia 发表于 2007-12-21 20:43 | 显示全部楼层

CSTACK设置太小啦,在.XCL文件中设置。

 楼主| zhongwei 发表于 2007-12-21 21:23 | 显示全部楼层

谢谢ls提示,ok了,可是,原来的400,200,现丰100,不是小了?

原:
//*************************************************************************
// Stack and heap segments.
//*************************************************************************

-D_CSTACK_SIZE=400
-D_HEAP_SIZE=200

-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)HEAP+_HEAP_SIZE=RAMSTART-RAMEND

参照manley的程序,改为:
-D_CSTACK_SIZE=100
-D_HEAP_SIZE=100

-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)HEAP+_HEAP_SIZE=RAMSTART-RAMEND

再次感谢bluearia,可以解释一下吗?
bluearia 发表于 2007-12-21 23:05 | 显示全部楼层

哦,LZ应该是在OPTION中没有设置.XCL文件的原因

LZ应该是在OPTION中没有设置.XCL文件的原因,下载到RAM中时使用默认的lnkarm_ram.xcl,堆栈使用的长度是0X100,0X100. 而在lnkarm_flash.xcl中,堆栈使用的长度是0X400,0X200.

没看到LZ是下载到RAM运行,LZ出现的问题应该是RAM空间不够程序运行的原因,而定义的堆栈长度大了。
xing6507 发表于 2008-1-4 23:19 | 显示全部楼层

改了还是不行

原来下载可以的,现在又不行了,用万利带的
光盘上的例子,一点不改都不行,我刚拿到板子
时试过是可以的,EWARM也重新装过,不知道那里
的问题。
香水城 发表于 2008-1-5 09:46 | 显示全部楼层
ATmega16 发表于 2008-1-5 11:08 | 显示全部楼层

数据堆栈太小了

数据堆栈太小了

xing6507 发表于 2008-1-5 17:02 | 显示全部楼层

驱动改了也不行

改了也不行啊,数据堆栈的大小在xcl文件里面设定
的吗,
1dqmoon 发表于 2008-1-22 22:14 | 显示全部楼层

遇到了和楼主同样的问题

楼主解决没?
xing6507 发表于 2008-1-23 08:54 | 显示全部楼层

跳线的问题

调试时需要将boot0跳到1,这应该是万利没说清楚,搞的我问了很久,
我还以为没人遇到这个问题的,如果不改变跳线,只可以下载几次,
在IAR中选STM-32F时会死机,选CORTEX-M3则会出现“cstack"
这样的错误信息。
sunke9 发表于 2008-6-1 20:03 | 显示全部楼层

不知道楼主最后怎么弄好的,我也遇到同样的问题.

是象10楼说的那样解决的吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

69

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部