RTT1.2.2在新塘Nano130KE3BN的移植中始终出现栈溢出的问题

发布于 2016-09-07 14:12:12
1.如题所示平台,刚开始在IAR上面构建环境,bsp使用的是nuc140,但是core_cm0.h是采用的新塘官方的文件,因为在nuc140中已经是v1.1的版本了,而新版本已经是v4了,其余基本没有太大修改,但是只要硬件仿真一启动就会提示The stack pointer for stack 'CSTACK' (currently 0x00001E0D) is outside the stack range (0x20000400 to 0x20000800) ,仔细检查了.icf的配置文件和生成的map文件,cstack都应该是正确的,尝试了修改cstack的大小也不行。
2. 于是重新再MDK上面构建环境,移植过程和在IAR上面基本类似,在系统启动后,进去rtthread_startup();一直到rt_system_scheduler_start();都是正常运行,但是在rt_system_scheduler_start内部最后一句话
    rt_current_thread = to_thread;
/* switch to new thread */
rt_hw_context_switch_to((rt_uint32_t)&to_thread->sp);
/* never come back */

再rt_hw_context_sonwitch_to从context_rvds.s中返回之后,程序就跑飞了。重复提示下面两个错误
* AGDI-Warning: failed to read memory at 0x2064656C
* AGDI-Warning: failed to read memory at 0x2064656E

不知道是哪里出了问题,还是还有哪里需要修改的,谢谢

查看更多

关注者
0
被浏览
1.6k
1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友