ARM七種異常源和異常處理流程(四大步三小步)

ARM七種異常源和異常處理流程

2014-11-30  北京海淀區  張俊浩

ARM七種異常源及其工作模式                                                                                           

異常源                                             

含義                     

ARM工作模式                              

RESET (reset)                                 

復位異常源          

SVC模式(Supervisor保護模式)

Swi(Software Interrupt )               

軟中斷異常源       

SVC模式                                      

Undefine(undefined instruction)

未定義指令異常源

und模式                                      

Prefetch Abort                              

取指異常源          

abort模式                                    

Data Abort                                    

數據異常源          

abort模式                                    

IRQ (Interrupt Request )               

外部異常源          

IRQ模式                                       

FIQ(Fast Interrupt Request)          

快中斷異常源      

FIQ模式                                       



ARM異常處理(處理器對特定的異常事件進行的處理)的進入過程(硬件自動完成):

四大(兩備份兩修改)三小步:

(1)拷貝 CPSR (當前程序狀態寄存器current program status register到 SPSR_<mode>(保存當前程序狀態寄存器Saved Program Status Register
        (2)設置適當的 CPSR 位:                        
1--改變處理器狀態進入 ARM 態(thumb狀態下異常處理無法返回)
2--改變處理器模式進入相應的異常模式M[4:0]
3--設置中斷禁止位禁止相應中斷 (如果需要)
(3)保存返回地址當前PC到 LR_<mode>
(4)設置 PC 爲相應的異常向量 
異常返回的步驟:
(1)從 SPSR_<mode>恢復CPSR

(2)從LR_<mode>恢復PC 

發佈了54 篇原創文章 · 獲贊 56 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章