进入hardfault后怎么排查问题?

🔍 溯源 ✍️ 立芯嵌入式 | 📅 2024-03-26 | 👍 0 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/资源 #质量/普通

原帖 | 立芯嵌入式 | 2024-03-26 00:12 | 👍0 | 阅读约1

[!warning] 长文存根:星球长文正文未导出,仅剩开头,完整内容见下方原文链接。
进入hardfault后怎么排查问题?

查看LR(链接寄存器)减4的位置:当进入HardFault时,LR(链接寄存器)通常包含了导致异常的指令的地址或返回地址。对于Thumb指令集(大多数ARM Cortex-M使用的),通常需要查看LR-4的位置来定位导致HardFault的指令。这是因为异常发生时,处理器可能已经预取了下一条指令。
在HardFault处理程序中打印寄存器值:创建一个HardFault处理程序,在其中添加汇编或C语言代码来访问并打印所有的通用寄存器(R0-R12, SP, LR, PC, xPSR)以及系统的错误状态寄存器,如CFSR(Configurable Fault Status Register)、HFSR(HardFault Status Register)、DFSR(Debug Fault Statu...

长文: 进入hardfault后怎么排查问题?


相关笔记