新聞中心

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

        ARM體系的異常中斷

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

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

        本文引用地址:http://www.104case.com/article/201611/317945.htm

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

           3:當異常中斷發生時,系統執行當前指令后,將跳轉到相應的異常中斷處理程序進行執行,當異常處理中斷執行完成之后,程序返回到發生中斷的下一條指令出繼續執行,在進入異常中斷處理程序的時候,要保存被中斷程序的執行現場,在從異常中斷程序退出時,要恢復被中斷的程序的執行現場

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

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

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

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

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

        從異常中斷處理中返回

          1恢復被中斷的程序的處理器后狀態,講SPSR_mode寄存器內容到CPSR

          2返回到發生異常中斷的指令的下一條指令執行,講IR_MODE中的內容到PC

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



        關鍵詞: ARM體系異常中

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 武宁县| 奎屯市| 乌兰浩特市| 肃北| 长沙县| 通道| 东丰县| 广汉市| 新闻| 屏南县| 永春县| 定陶县| 永新县| 义马市| 贵定县| 肃北| 唐山市| 青龙| 甘洛县| 樟树市| 通辽市| 隆化县| 垣曲县| 曲麻莱县| 师宗县| 南靖县| 称多县| 河南省| 久治县| 沂南县| 台南市| 遂平县| 新平| 上杭县| 芒康县| 辉南县| 海门市| 罗定市| 延川县| 长海县| 昌平区|