[求助] IAR报错 不能仿真求助

wanghlady   2016-7-5 09:21 楼主
Tue Jul 05, 2016 09:15:10: The stack pointer for stack 'CSTACK' (currently 0x20000A78) is outside the stack range (0x20000198 to 0x20000398)
总是报这个错误
有没有谁知道怎么解决?

我爱着爱着我的人,朋友和家人。

回复评论 (15)

栈太小了?把栈设置大一点试试。或者你有什么变量太占用栈了,可以放到全局作用域试试。
点赞  2016-7-5 09:51
引用: lcofjp 发表于 2016-7-5 09:51
栈太小了?把栈设置大一点试试。或者你有什么变量太占用栈了,可以放到全局作用域试试。

我改了  不是这个问题  
我爱着爱着我的人,朋友和家人。
点赞  2016-7-5 09:52
引用: wanghlady 发表于 2016-7-5 09:52
我改了  不是这个问题

不会吧,改了应该没问题了 啊
点赞  2016-7-5 09:54
但是你的SP应该是飞了,至于为什么飞,要从头仿真一下看看
你看看你的代码设置的栈的大小,以及它提示的是否对应?
编译器里面是否还有其他参数没有设置?
点赞  2016-7-5 09:58
为了提高讨论实时性,可以暂时移步到水群里去讨论,讨论出了结果再贴出来。
点赞  2016-7-5 10:00
器件有选择正确吗,先试试一个比较简单的程序,排除掉栈溢出的可能性,看看能不能仿真
点赞  2016-7-5 10:15
我也多次遇到这个问题,设置栈的大小都没解决问题,多数是程序某处执行时溢出了
点赞  2016-7-5 10:29
用的什么器件?
点赞  2016-7-5 10:29
堆栈越界了,加大就好了!
stm32/LoRa物联网:304350312
点赞  2016-7-5 10:54
1、在options的选项中,stack/heap的那个选项中改;
2、局部变量是储存在stack区的(栈),查看下你的局部变量是否超出了栈区;
3、你用什么仿真器出现这种情况的?Jlink的JTAG方式?还是SWD的方式?(这种情况下看看是否是引脚冲突造成的)    STlink?
毕竟没有碰到过你的情况,以上是我的一些思路,希望可以帮助到你啦。IAR我还没用过32的,O(∩_∩)O哈哈~
点赞  2016-7-5 12:09
引用: 数码小叶 发表于 2016-7-5 09:54
不会吧,改了应该没问题了 啊

找到问题了  是电路板上BOOT0那个电阻没焊
我爱着爱着我的人,朋友和家人。
点赞  2016-7-6 08:49
引用: dong2213dong 发表于 2016-7-5 10:29
我也多次遇到这个问题,设置栈的大小都没解决问题,多数是程序某处执行时溢出了

我是硬件问题
我爱着爱着我的人,朋友和家人。
点赞  2016-7-6 08:49
引用: huaiqiao 发表于 2016-7-5 12:09
1、在options的选项中,stack/heap的那个选项中改;
2、局部变量是储存在stack区的(栈),查看下你的局部 ...

谢谢  硬件问题  boot0那个电阻木焊接
我爱着爱着我的人,朋友和家人。
点赞  2016-7-6 08:50
引用: wanghlady 发表于 2016-7-6 08:50
谢谢  硬件问题  boot0那个电阻木焊接

娘娘,这种错误犯了可。。。。。。。打板焊接完元件后,首先就要确认下有没有缺焊,其次是短路啊等等。难道这些一兴奋都你们跳过了。O(∩_∩)O哈哈~
点赞  2016-7-6 09:06
引用: huaiqiao 发表于 2016-7-6 09:06
娘娘,这种错误犯了可。。。。。。。打板焊接完元件后,首先就要确认下有没有缺焊,其次是短路啊等等。难 ...

我爱着爱着我的人,朋友和家人。
点赞  2016-7-7 08:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复