
使用keil 4查看STM32的中斷函式反匯編代碼,發現入口第一句就是BX lr,
請問這是為什么?
不是應該在中斷函式最后使用BX lr回傳的嗎?根據LR 的值判斷回傳模式和使用的堆疊的嗎?
謝謝!
uj5u.com熱心網友回復:
這個說明沒有寫自己的中斷函式,直接用了一個系統自帶的空的,看看是不是中斷函式的名字寫錯了。uj5u.com熱心網友回復:
中斷有自己的暫存器,處理完要回傳到中斷回應點恢復狀態繼續運行uj5u.com熱心網友回復:

如圖,中斷函式中有程式,不是空的,為什么第一句是BX LR?
uj5u.com熱心網友回復:
我感覺是兩級流水線導致指令預取后,pc 指標存在自動+4,中斷觸發后pc 需要調回,不然后面的壓堆疊并不是現場。uj5u.com熱心網友回復:
用Level0編譯一下試試uj5u.com熱心網友回復:
截圖就是level0編譯的呢
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/44018.html
標籤:單片機/工控
