【问题标题】:The stack pointer for stack 'CSTACK' is outside the stack range堆栈“CSTACK”的堆栈指针超出堆栈范围
【发布时间】:2014-10-16 06:30:48
【问题描述】:

我正在尝试使用模拟器在 IAR 嵌入式工作台上执行一些简单的代码。我已经编译了代码,没有任何警告或错误,但在调试期间我收到此警告“堆栈'CSTACK'(当前为 0x00000000)的堆栈指针超出堆栈范围(0x20000000 到 0x20001000)”。我的代码甚至无法执行简单的增量操作,我发现这非常奇怪且难以理解。对于这个问题,我可以在谷歌或 IAR 上找到任何合适的解决方案。 有什么想法吗??

【问题讨论】:

  • 听起来你需要初始化你的堆栈指针。

标签: c debugging ide stack iar


【解决方案1】:

Options -> Linker -> Config -> Linker configuration file 中,您应该有一个具有如下定义的文件:

定义符号ICFEDIT_region_RAM_start = 0x20000000;
定义符号 ICFEDIT_size_cstack = 0x1200;

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

STM32F2xx_FLASH.icf

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 2013-01-20
    • 2015-08-05
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多