打印

请教一个IAR EWARM中堆栈问题。

[复制链接]
2469|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jadetang|  楼主 | 2008-7-9 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ARM, IAR, ST, AC, ck
我在XCL文件中定义堆栈的文件如下
-D_CSTACK_SIZE=1000
-D_IRQ_STACK_SIZE=1000
-D_HEAP_SIZE=100

-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_SIZE=RAMSTART-RAMEND

但是调试就出问题了,信息如下
Wed Jul 09 10:47:09 2008: The stack pointer for stack 'CSTACK' (currently 0x40002734) is outside the stack range (0x81002D84 to 0x81003D84)
Wed Jul 09 10:47:09 2008: The stack pointer for stack 'IRQ_STACK' (currently 0x4000281C) is outside the stack range (0x81003D84 to 0x81004D84)
说我堆栈指针越界了。

请问谁知道是怎么回事吗?

相关帖子

沙发
zyok| | 2008-7-9 11:08 | 只看该作者

恐怕是RAMSTART、RAMEND定位没对?

使用特权

评论回复
板凳
computer00| | 2008-7-9 11:13 | 只看该作者

是不是RAM地址设置错了

使用特权

评论回复
地板
jadetang|  楼主 | 2008-7-9 11:26 | 只看该作者

对不起啊,那段代码忘记copy了

-DRAMSTART=81000000
-DRAMEND=8107FFFF

使用特权

评论回复
5
computer00| | 2008-7-10 20:52 | 只看该作者

这两个地址都不一样,当然不行了。

根据实际硬件设置这些地址。包括汇编和链接文件里的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

108

帖子

0

粉丝