This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-F280039C: 运行时触发关于“_system_post_cinit()”的异常错误,并且会跳转至“0x3feef8”。

Part Number: LAUNCHXL-F280039C

Hi~大佬们~我在BSP开发阶段就发现了这个问题,一直没有处理,现在BSP开发完了,回过头来处理这个事情。

在频繁中断操作时极易复现。

比如:串口收一串数据后返回相同数据。

需要请教的问题:

1、导致触发这个问题的可能原因有哪些?

2、当程序跳转至“0x3feef8”,我如何查问题源头?

说明:

*1、程序架构是基于时间片轮询机制的。

*2、如果关闭时间片轮询机制,就不会出现这个情况。

*3、因加密系统的缘故,无法提供源文件。

  • 你好,我需要咨询下相关资深工程师,一旦有回复会立即回复您。

  • 好的,非常感谢。

  • 0x3FEEF8此地址位于设备的 BROM 内。这就是为什么CCS返回无源错误的原因,不过更重要的是为什么我们在代码执行期间跳入BROM。

    客户提到这可能发生在高 ISR 负载下,他们可能希望确保堆栈不会溢出,特别是如果他们正在嵌套中断(即在其他中断中启用中断)。如果堆栈溢出,它们可能会损坏其源代码,或者如果堆栈指针 (SP) 不在有效的内存范围内,则没有有效的返回地址。

    我相信在CCS中有一个堆栈分析工具,他们可以实时运行来诊断这一点。

  • 堆栈的问题一开始我也排查了,但没发现什么问题。

    配置:

    调整(正常情况):

    调试(发生异常):

    Stack Usage:

    上图:提示 100% ,这个怎么理解?

    上图:感叹号代表什么含义?

  • 问题已经解决了,问题出在中断上,非常感谢您提供的思路。

  • 好的,问题解决就好。