[uCOS/RTOS] 'CSTACK'is outside the stack range

[复制链接]
 楼主| 星辰yyt 发表于 2013-9-5 10:44 | 显示全部楼层 |阅读模式
在IAR6.3  MB9B506上移植uCos-III时,创建任务后只要开始任务调度,就会有如下的错误:

     The stack pointer for stack 'CSTACK'(currently 0x1FFF9B18)is outside the stack range(0x1FFFA6A0 to 0x1FFFAAA0)


望有经验的同胞分享下解决方法。
aozima 发表于 2013-9-5 12:16 | 显示全部楼层
在调试选择中关闭栈检查。
因为那个调试时只认启动时那个主栈,每个线程的自己的栈都会认为是超出了。
 楼主| 星辰yyt 发表于 2013-9-5 12:43 | 显示全部楼层
aozima 发表于 2013-9-5 12:16
在调试选择中关闭栈检查。
因为那个调试时只认启动时那个主栈,每个线程的自己的栈都会认为是超出了。 ...

能否具体描述下如何关闭。
另外关闭的话会不会有其他不可预料的错误,不检查,如果是程序中真的堆栈溢出岂不是很严重。
aozima 发表于 2013-9-5 14:37 | 显示全部楼层
没有IAR软件,不知道在哪里在关闭。
使用RTOS时,可以向RTOS厂商获取对应的DEBUG插件,可以针对每个线程做单独的检查。
 楼主| 星辰yyt 发表于 2013-9-5 14:48 | 显示全部楼层
星辰yyt 发表于 2013-9-5 12:43
能否具体描述下如何关闭。
另外关闭的话会不会有其他不可预料的错误,不检查,如果是程序中真的堆栈溢出 ...

关闭IAR栈检查后确实没有这样的警告,但是总觉得不放心。
之前有移植uCos-II(设置检查)没有这样的警告,移植uCos-III时才出现这样的警告,担心是移植时哪里的问题。
 楼主| 星辰yyt 发表于 2013-9-5 14:51 | 显示全部楼层
aozima 发表于 2013-9-5 14:37
没有IAR软件,不知道在哪里在关闭。
使用RTOS时,可以向RTOS厂商获取对应的DEBUG插件,可以针对每个线程做 ...

DEBUG插件?芯片厂商是否会提供,uCos-II好像编译器默认就自带了
291130416 发表于 2015-3-30 21:44 | 显示全部楼层
星辰yyt 发表于 2013-9-5 14:48
关闭IAR栈检查后确实没有这样的警告,但是总觉得不放心。
之前有移植uCos-II(设置检查)没有这样的警告 ...

怎么关闭栈检查?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

77

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部