• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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://www.czjhyjcfj.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 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 德安县| 娄底市| 镇远县| 黑龙江省| 宽城| 金乡县| 右玉县| 区。| 和硕县| 平乐县| 长武县| 蓬莱市| 大化| 咸丰县| 保亭| 襄城县| 南郑县| 香港| 新民市| 三台县| 施秉县| 冕宁县| 灵武市| 剑河县| 汉川市| 清丰县| 花垣县| 台安县| 普格县| 曲阳县| 新绛县| 武胜县| 布尔津县| 措勤县| 中西区| 福州市| 开封市| 修文县| 广汉市| 临海市| 苏尼特左旗|