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