久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM7內核的中斷屏蔽方法

ARM7內核的中斷屏蔽方法

作者: 時間:2011-06-27 來源:網絡 收藏

引言
CPU在執行程序的過程中,由于外部的某種原因,有必要盡快地中止當前程序的執行,而去執行相應的處理程序,待處理結束后再回來繼續執行被中止了的原程序,這種情況稱為“”。從事嵌入式開發的工程師對的概念都很熟悉,在x86系列CPU體系中,軟件設計人員會調用enable()函數和disable()函數來允許或。enable()和disable()是兩個庫函數,函數disable()的作用是中斷,它唯一允許執行的中斷是NMI(不可中斷);函數enable()的作用與函數disable()相反,是將被屏蔽的中斷打開,允許中斷。這兩個函數的原型都是在頭文件DOS.H中定義的,DOS.H定義的都是一些DOS接口函數。DOS的全稱為“Disk Operating System”,即“磁盤操作系統”,是一種在x86系列的微型計算機上運行的操作系統。
x86和ARM是兩種不同體系的微處理器,ARM不支持DOS接口函數,在ARM公司提供的集成開發環境ADS1.2的頭文件中沒有DOS.H文件,DO-S.H中定義的所有函數在ARM的編譯器中都不支持,所以需要重新設計兩個函數替代上述函數,以實現相同的功能。

1 處理器簡介
ARM是Advanced RISC Machines的縮寫,ARM公司開發了很多系列的ARM處理器,處理器就是其中的一個系列,其中包括TD-MI、ARM7TDMI-S、帶有高速緩存處理器宏單元的ARM720T和擴充了Jazelle的ARM7EJ-S。該系列處理器提供Thumb 16位壓縮指令集和Embeded-ICE軟件調試方式,多應用于多媒體和嵌入式設備,包括Internet設備、移動電話、PDA等。

2 ARM7中斷工作模式
ARM7處理器具有2個中斷輸入,分別為IRQ中斷和FIQ中斷,如圖1所示。其對應的中斷操作模式為向量中斷IRQ模式(用于通用中斷處理)和快速中斷FIQ模式(支持數據傳輸或通道處理)。

本文引用地址:http://cqxgywz.com/article/150568.htm

a.JPG


向量中斷請求(IRQ)是一個由nIRQ輸入端的低電平所產生的正常中斷。IRQ的優先級低于FIQ,對于FIQ序列它是被屏蔽的。任何時候在一個特權模式下,都可通過置位當前程序狀態寄存器(CPSR)中的I位來禁止IRQ。
快速中斷請求(FIQ)支持數據轉移或通道處理,在ARM狀態中,FIQ模式有8個專用的寄存器可用來滿足寄存器保護的需要,這是上下文切換的最小開銷。將nFIQ信號拉低可實現外部產生FIQ。在一個特權模式中,可通過置位當前程序狀態寄存器(CPSR)中的F標志來禁止FIQ異常。當F標志清零時,ARM7處理器在每條指令結束時檢測FIQ同步器輸出端的低電平。
3 ARM7中斷屏蔽程序實現
ARM7包含1個當前程序狀態寄存器(CPSR),該寄存器中包含條件代碼標志位、控制中斷的使能和禁止位,以及設置處理器操作模式位。當前程序狀態寄存器如圖2所示。

b.JPG


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉