新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM體系的異常中斷

ARM體系的異常中斷

作者: 時間:2016-11-09 來源:網(wǎng)絡 收藏
ARM體系中,通常有3種方式控制處理器的流程

  1:在正常執(zhí)行過程中,每執(zhí)行一條ARM指令,程序計數(shù)器寄存器PC的值加四個字節(jié),在每執(zhí)行一條Thumb指令,程序計數(shù)器寄存器PC的值加兩個字節(jié),整個過程是按照順序執(zhí)行的  

本文引用地址:http://m.butianyuan.cn/article/201611/317945.htm

   2:通過跳轉(zhuǎn)指令,程序可以跳轉(zhuǎn)到指定的地址標號進行執(zhí)行,或者跳轉(zhuǎn)到特定的子程序進行執(zhí)行,其中B指令用于執(zhí)行跳轉(zhuǎn)操作,BL指令用于執(zhí)行跳轉(zhuǎn)操作的同時,保存子程序相應的返回地址,BX在執(zhí)行跳轉(zhuǎn)操作的同時,分居目標地址的最低位,可以將程序切換到THumb狀態(tài),BLX執(zhí)行上述三個操作

   3:當異常中斷發(fā)生時,系統(tǒng)執(zhí)行當前指令后,將跳轉(zhuǎn)到相應的異常中斷處理程序進行執(zhí)行,當異常處理中斷執(zhí)行完成之后,程序返回到發(fā)生中斷的下一條指令出繼續(xù)執(zhí)行,在進入異常中斷處理程序的時候,要保存被中斷程序的執(zhí)行現(xiàn)場,在從異常中斷程序退出時,要恢復被中斷的程序的執(zhí)行現(xiàn)場

ARM處理器對異常中斷的響應

  1保存處理器當前的狀態(tài),中斷屏蔽位,以及各條件標志位,這是通過當前程序狀態(tài)寄存器CPSR的內(nèi)容保存到要自信的異常中斷對應的SPSR寄存器中實現(xiàn)的

  2設置當前程序狀態(tài)寄存器的相應的位,包括CPSR中的位,是處理器進入相應的執(zhí)行模式,設置CPSR中的位,進制IRQ中斷,但進入FIQ是,進制FIQ中斷

  3將寄存器設置成返回地址

  4將程序計數(shù)器PC,設置長異常中斷的中斷向量地址,從而跳轉(zhuǎn)到相應的異常中斷進行處理

從異常中斷處理中返回

  1恢復被中斷的程序的處理器后狀態(tài),講SPSR_mode寄存器內(nèi)容到CPSR

  2返回到發(fā)生異常中斷的指令的下一條指令執(zhí)行,講IR_MODE中的內(nèi)容到PC

  3復位和異常中斷不需要返回,程序計數(shù)器PC所指向的不同的異常中斷是不同的



關鍵詞: ARM體系異常中

評論


技術專區(qū)

關閉