Tue Jul 05, 2016 09:15:10: The stack pointer for stack 'CSTACK' (currently 0x20000A78) is outside the stack range (0x20000198 to 0x20000398)
总是报这个错误
有没有谁知道怎么解决?
栈太小了?把栈设置大一点试试。或者你有什么变量太占用栈了,可以放到全局作用域试试。
但是你的SP应该是飞了,至于为什么飞,要从头仿真一下看看
你看看你的代码设置的栈的大小,以及它提示的是否对应?
编译器里面是否还有其他参数没有设置?
为了提高讨论实时性,可以暂时移步到水群里去讨论,讨论出了结果再贴出来。
器件有选择正确吗,先试试一个比较简单的程序,排除掉栈溢出的可能性,看看能不能仿真
我也多次遇到这个问题,设置栈的大小都没解决问题,多数是程序某处执行时溢出了
1、在options的选项中,stack/heap的那个选项中改;
2、局部变量是储存在stack区的(栈),查看下你的局部变量是否超出了栈区;
3、你用什么仿真器出现这种情况的?Jlink的JTAG方式?还是SWD的方式?(这种情况下看看是否是引脚冲突造成的) STlink?
毕竟没有碰到过你的情况,以上是我的一些思路,希望可以帮助到你啦。IAR我还没用过32的,O(∩_∩)O哈哈~
娘娘,这种错误犯了可。。。。。。。打板焊接完元件后,首先就要确认下有没有缺焊,其次是短路啊等等。难道这些一兴奋都你们跳过了。O(∩_∩)O哈哈~