Part Number:LAUNCHXL-F280039C
Hi~大佬们~我在BSP开发阶段就发现了这个问题,一直没有处理,现在BSP开发完了,回过头来处理这个事情。
在频繁中断操作时极易复现。
比如:串口收一串数据后返回相同数据。
需要请教的问题:
1、导致触发这个问题的可能原因有哪些?
2、当程序跳转至“0x3feef8”,我如何查问题源头?
说明:
*1、程序架构是基于时间片轮询机制的。
*2、如果关闭时间片轮询机制,就不会出现这个情况。
*3、因加密系统的缘故,无法提供源文件。
Ben Qin:
你好,我需要咨询下相关资深工程师,一旦有回复会立即回复您。
,
DY Liu:
好的,非常感谢。
,
Ben Qin:
0x3FEEF8此地址位于设备的 BROM 内。这就是为什么CCS返回无源错误的原因,不过更重要的是为什么我们在代码执行期间跳入BROM。
客户提到这可能发生在高 ISR 负载下,他们可能希望确保堆栈不会溢出,特别是如果他们正在嵌套中断(即在其他中断中启用中断)。如果堆栈溢出,它们可能会损坏其源代码,或者如果堆栈指针 (SP) 不在有效的内存范围内,则没有有效的返回地址。
我相信在CCS中有一个堆栈分析工具,他们可以实时运行来诊断这一点。
,
DY Liu:
堆栈的问题一开始我也排查了,但没发现什么问题。
配置:
调整(正常情况):
调试(发生异常):
Stack Usage:
上图:提示 100% ,这个怎么理解?
上图:感叹号代表什么含义?
,
DY Liu:
问题已经解决了,问题出在中断上,非常感谢您提供的思路。
,
Ben Qin:
好的,问题解决就好。