新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM7內(nèi)核的中斷屏蔽方法

ARM7內(nèi)核的中斷屏蔽方法

作者: 時(shí)間:2011-06-27 來源:網(wǎng)絡(luò) 收藏

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

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

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

本文引用地址:http://butianyuan.cn/article/150568.htm

a.JPG


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

b.JPG


上一頁 1 2 3 下一頁

關(guān)鍵詞: 方法 屏蔽 中斷 內(nèi)核 ARM7

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉