windows-10 - 在使用的 IAR 8 和 STL552 评估板上,堆栈指针被初始化为 0x0000
问题描述
如果我在将图像下载到 STL552 评估板后在 IAR 8 中运行程序,则会收到以下执行错误:
堆栈“CSTACK”的堆栈指针(当前为 0x00000000)超出堆栈范围(0x200002D8 到 0x200010D8)
解决方案
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 中进入调试模式。
按照描述设置这两个选项后,我在项目中不再看到此错误。
推荐阅读
- react-native - App.vue is not working in Vue-Native application
- mysql - 通过唯一数量的值定义 LIMIT
- django - Django | CKEditor - Image Upload option not showing in App
- php - Laravel 5.7 validate if there is another user with the same e-mail
- android - Android - 将数据传递给另一个活动
- python - 如何反复“收听”图像以显示在目录中并显示几秒钟?
- c# - 如何协调 .net 后端和 asp.net Web 应用程序之间的文件共享
- email - 如何在电子邮件模板 prestashop 中添加产品名称?
- php - Laravel PDO::exec() 期望参数 1 是字符串,给定对象
- c# - 我想计算 C# 中字符串中“e”字符的数量