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