原帖 | 立芯嵌入式 | 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...
相关笔记