堆栈’CSTACK’的堆栈指针位于堆栈范围之外

我试图使用模拟器在IAR嵌入式工作台上执行一些简单的代码.我已经编译了没有警告或错误的代码,但在调试过程中我收到此警告“堆栈’CSTACK’的堆栈指针(当前为0x00000000)超出了堆栈范围(0x20000000到0x20001000)”.我的代码甚至无法进行简单的增量操作,我发现它非常奇怪且难以理解.我可以为Google或IAR上的这个问题找到任何正确的解决方案.

有什么想法吗?? 最佳答案 在选项 – >链接器 – >配置 – >链接器配置文件你应该有一个具有如下定义的文件:

define symbol ICFEDIT_region_RAM_start = 0x20000000;
define symbol ICFEDIT_size_cstack = 0x1200;

在我的项目中,我的文件名为:

STM32F2xx_FLASH.icf

点赞