使用项目过程中发现了HardFault_Handler错误,通过fault Reports查看,发现INVSTATE标志被置位了,查阅了权威指南,发现问题可能如下:
1. 加载到 PC 中的跳转地址值是偶数(LSB=0)。通过检查入栈PC 的值,一
下子就可以查出该问题。
2. 向量地址的 LSB=0,诊断方法同上。
3. 入栈的 PSR 在异常处理过程中被破坏,使得在返回时内核尝试进入ARM
状态。
程序单步调试如图。
不知道发生这样的错误时应该怎么解决,只知道错误类型和可能,但是不知道怎么解决,所以希望给位大佬能给一点提示。对于其他类型的HardFault_Handler错误也希望能给出一些解决思路。谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
项目使用的是C++
一周热门 更多>