1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
12年开发的一个项目一直在使用rt-thread,因为客户要求修改产品功能。只在应用程序中增加了一行代码。却导到芯片一直复位。J-LINK跟踪发现call stack非常零乱,未按正常的调用逻辑在显示。然后将原来的RT-THREAD版本 V1.0.1更新到V2.0.2版本。程序能正常运行。但因为版本间的差异,原来我添加的设备不能正常工作了,跟踪发现当前版本需要调用rt_device_open函数。在代码中添加了open函数后,问题复原了,call stack一直在乱飞。 void rt_hw_chip_24c08_init(void) {
");
} 将添加的代码删除也不能再正常恢复工作。。。 程序一直在重启。 在退出当前函数,接近退出上级函数时,看call stack的变化 硬件平台为: ARM Cortex-M3 STM32F107VCT6 编译器: 程序编译结果大小为: Build target 'RT-Thread STM32' linking... Program Size: Code=124356 RO-data=65336 RW-data=1084 ZI-data=46180 FromELF: creating hex file... ".obj tthread-stm32.axf" - 0 Error(s), 0 Warning(s). 出现问题后,将.sp/stm32f107/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_cl.s文件内部定义的栈也进行了加大 Stack_Size EQU 0x00000600
Stack_Mem SPACE Stack_Size __initial_sp ; ; ; Heap_Size EQU 0x00000400
__heap_base Heap_Mem SPACE Heap_Size __heap_limit 对创建的任务栈也进行了加大 int rt_application_init() {
#if (RT_THREAD_PRIORITY_MAX==32)
#else
#endif
//network main thread
} 这个处理后,故障依旧! 面对这种问题,还应该做什么? 如何让这个故障不再重演呢? |
|
相关推荐
1个回答
|
|
控制台一直在打印系统LOGO,因为程序弹栈运行到rt_thread_exit()函数后,程序自动复位了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
590 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2241 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1233 浏览 0 评论
1788 浏览 0 评论
1464 浏览 0 评论
74832 浏览 21 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 05:25 , Processed in 0.385900 second(s), Total 41, Slave 35 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号