新聞中心

        EEPW首頁 > 學習方法與實踐 > ARM基礎知識連載(3)

        ARM基礎知識連載(3)

        ——
        作者: 時間:2007-08-03 來源: 收藏

        體系中通常有以下3種方式控制程序的執行流程:

        **在正常執行過程中,每執行一條指令,程序計數器(PC)的值加4個字節;每執行一條Thumb指令,程序計數器寄存器(PC)加2個字節。整個過程是按順序執行

        **跳轉指令,程序可以跳轉到特定的地址標號處執行,或者跳轉到特定的子程序處執行。其中,B指令用于執行跳轉操作;BL指令在執行跳轉操作同時,保存子程

        序的返回地址;BX指令在執行跳轉操作同時,根據目標地址為可以將程序切換到Thumb狀態;BLX指令執行3個操作,跳轉到目標地址處執行,保存子程序的返回

        地址,根據目標地址為可以將程序切換到Thumb狀態。

        **當異常中斷發生時,系統執行完當前指令后,將跳轉到相應的異常中斷處理程序處執行。當異常中斷處理程序執行完成后,程序返回到發生中斷指令的下條指

        令處執行。在進入異常中斷處理程序時,要保存被中斷程序的執行現場,從異常中斷處理程序退出時,要恢復被中斷程序的執行現場。

        中異常中斷的種類

        **復位(RESET)**
        當處理器復位引腳有效時,系統產生復位異常中斷,程序跳轉到復位異常中斷處理程序處執行。復位異常中斷通常用在下面幾種情況下:系統加電時;系統復位時;跳轉到復位中斷向量處執行成為軟復位。

        **未定義的指令**
        當ARM處理器或者是系統中的協處理器認為當前指令未定義時,產生未定義的指令異常中斷,可以通過改異常中斷機制仿真浮點向量運算。

        **軟件中斷**
        這是一個由用戶定義的中斷指令。可用于用戶模式下的程序調用特權操作指令。在實時操作系統中可以通過該機制西線系統功能調用。

        **指令與取終止(PrefechAbort)**
        如果處理器預取的指令的地址不存在,或者該地址不允許當前指令訪問,當被預取的指令執行時,處理器產生指令預取終止異常中斷。

        **數據訪問終止(DATAABORT)
        如果數據訪問指令的目標地址不存在,,或者該地址不允許當前指令訪問,處理器產生數據訪問終止異常中斷

        **外部中斷請求(IRQ)**
        當處理器的外部中斷請求引腳有效,而且CPSR的寄存器的I控制位被清除時,處理器產生外部中斷請求異常中斷。系統中個外設通過該異常中斷請求處理服務。

        **快速中斷請求(FIQ)**
        當處理器的外部快速中斷請求引腳有效,而且CPSR的F控制位被清除時,處理器產生外部中斷請求異常中斷

        異常中斷向量表及異常中斷優先級
        中斷向量表指定了個異常中斷及其處理程序的對應關系。他通常存放在存儲地址的低端。在ARM體系中,異常中斷向量表的大小為32字節,其中每個異常中斷占據4個字節大小,保留了4個字節空間。
        每個異常中斷對應的中斷向量表中的4個字節的空間中存放了一個跳轉指令或者一個向PC寄存器中賦值的數據訪問指令。通過這兩種指令,程序將跳轉到相應的異常中斷處理程序處執行。當幾個異常中斷同時發生時,就必須按照一定的次序來處理這些異常中斷。

        各個異常中斷的中斷向量地址以及中斷的處理優先級
        中斷向量地址           異常中斷類型             異常中斷模式               優先級(6最低)
        0x00                   復位                     特權模式                   1
        0x04                   未定義的指令             未定義指令終止模式         6
        0x08                   軟件中斷                 特權模式                   6
        0x0C                   指令預取終止             終止模式                   5
        0x10                   數據訪問終止             終止模式                   2
        0x14                   保留                     未使用                     未使用
        0x18                   外部中斷請求             IRQ模式                    4
        0x1C                   快速中斷請求             FIQ模式                    3



        關鍵詞: ARM

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 科技| 新竹县| 日喀则市| 东光县| 比如县| 汤原县| 德钦县| 旌德县| 陆丰市| 乐至县| 宝鸡市| 泾阳县| 佛学| 区。| 迁安市| 宣城市| 沛县| 化隆| 怀安县| 南开区| 塔城市| 鹿泉市| 潞西市| 十堰市| 建阳市| 报价| 博白县| 文水县| 四川省| 靖江市| 昂仁县| 昆山市| 海南省| 巨鹿县| 绵阳市| 拉萨市| 贵南县| 涞源县| 乌拉特前旗| 长子县| 闵行区|