所有沒有被使能的fault,都將進入Hard Fault
一、 出錯時的CPU寄存器值
二、定位
在進入異常服務程序后, LR的值被自動更新為特殊的 EXC_RETURN,這是一個高28位全為1的值
上圖中LR = 0xFFFFFFF9
,所以使用的是MSP
三、在內存在找到MSP對應的地址
- 錯誤異常發生時,上下文(Stack Frame)按照下圖順序被入棧保存. R0最后入棧
四、使用Memory窗口查看MSP處的數據
五、LR對應的匯編語句,正常執行時,函數返回后的執行地址
六、PC對應的匯編語句
實際是運行0x08017070時進入Hard Fault的