首页 > 解决方案 > 在使用的 IAR 8 和 STL552 评估板上,堆栈指针被初始化为 0x0000

问题描述

如果我在将图像下载到 STL552 评估板后在 IAR 8 中运行程序,则会收到以下执行错误:

堆栈“CSTACK”的堆栈指针(当前为 0x00000000)超出堆栈范围(0x200002D8 到 0x200010D8)

标签: windows-10

解决方案


IAR 可以生成它自己的断点,这些断点可能与您项目中的堆栈位置对应,也可能不对应。

Project -> Options -> General Options -> Library Configuration -> 'Library Low-level interface implementation' - “Semihosted”选项会导致 IAR 放置断点。我在我的项目中将其设置为“无”。

此外,Project -> Options -> Debugger -> 'Use Flash Loader(s)' - 选中后,这也可能导致 IAR 放置断点。

不幸的是,不使用“Flash Loader(s)”导致我不得不使用 ST-LINK 实用程序对设备进行编程。之后,我使用“不下载调试”选项在 IAR 中进入调试模式。

按照描述设置这两个选项后,我在项目中不再看到此错误。


推荐阅读