ARM中斷處理類型
中斷與堆棧設(shè)置和ARM體系結(jié)構(gòu)緊密相關(guān),ARM是一種支持多任務(wù)操作的系統(tǒng)內(nèi)核,內(nèi)部結(jié)構(gòu)完全適應(yīng)多任務(wù)應(yīng)用。ARM內(nèi)核支持7種中斷,不同的中斷處于不同的處理模式(如表1所示),具有不同的優(yōu)先級(jí),而且每個(gè)中斷都有固定的中斷入口地址。當(dāng)一個(gè)中斷發(fā)生時(shí),相應(yīng)的R14(LR)存儲(chǔ)中斷返回地址,SPSR存儲(chǔ)狀態(tài)寄存器CPSR的值。
由于ARM內(nèi)核支持流水線工作,LR寄存器存儲(chǔ)的地址可能是發(fā)生中斷處后面指令的地址,所以不同的中斷處理完成后,必須將LR寄存器值經(jīng)過處理后再寫入R15(PC)寄存器。
表1 ARM的7種中斷
ARM體系結(jié)構(gòu)所支持的異常及具體含義如表2所示。
表2 ARM所支持的異常及其具體含義
續(xù)表
評(píng)論