ARM7的異常處理
我們必須仔細?理解ARM的中斷運行是什么樣一個(gè)情況:
本文引用地址:http://dyxdggzs.com/article/201611/319415.htm1進(jìn)入異常:1)將原來(lái)執行的程序的下一條指令保存到LR中;這個(gè)好理解;2)復制CPSR到響應的SPSR中進(jìn)行保存,這是為了保存異常前的狀態(tài);3)根據發(fā)生的異常類(lèi)型改變CPSR模式的值;4)令程序計數器PC的值指向異常處理向量所指的下一條指令。這句話(huà)很關(guān)鍵,ARM內核響應異常后使PC值強制指向??異常處理向量所指的下一條指令,而不是軟件實(shí)現的,否則腦袋想破都沒(méi)有用。
PC值改變也就改變了程序的執行,跳轉到具體的中斷程序,而中斷向量表是?預先設定好的放置中斷跳轉指令的“表”;??跳轉到向量表則是由ARM內核完成。
這是糾結了幾晚的事情,應該是正確的理解了,發(fā)出來(lái)供商榷???
評論