在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM處理器的高效異常處理的解決方案

            基于ARM處理器的高效異常處理的解決方案

            作者: 時間:2014-09-10 來源:網(wǎng)絡 收藏

              摘要 嵌入式系統(tǒng)要求對異常及能快速響應。文中分析了體系結(jié)構(gòu)下異常處理特點,提出一種基于處理器的高效異常處理解決方案,以LPC3250硬件平臺為基礎(chǔ),對該方案進行了設計與實現(xiàn)。測試結(jié)果表明,該方案的異常處理更為高效。

            本文引用地址:http://www.biyoush.com/article/262770.htm

              在航空航天、及醫(yī)療等領(lǐng)域中,嵌入式系統(tǒng)的安全性、可靠性以及高效性作用顯著,而異常是系統(tǒng)在運行過程中的突發(fā)事件,異常處理是否高效將直接影響整個系統(tǒng)的工作效率。為了確保嵌入式系統(tǒng)高效安全的運行,對處理器非正常模式下高效的異常處理機制的研究具有重要意義。

              1 異常概述

              嵌入式系統(tǒng)中異常/中斷是指由處理器內(nèi)部或外部源產(chǎn)生并引起系統(tǒng)處理的一個事件。根據(jù)事件源的不同將異常分為“異常”和“中斷”兩種,異常指由處理器內(nèi)部源所引起的事件,如非法指令執(zhí)行異常,地址訪問異常等;中斷指由處理器外部中斷源引起的事件。嵌入式處理器對外部中斷源一般由中斷控制器進行統(tǒng)一管理并上報處理器。對于嵌入式系統(tǒng),異常/中斷均會導致處理器打斷正常的程序執(zhí)行流程,進入特定模式進行相應的異常處理。因此,對“異常”和“中斷”一般不作嚴格區(qū)分。

              作為嵌入式處理器,為了確保系統(tǒng)的實時性和程序執(zhí)行的穩(wěn)定性,處理器支持完整的異常處理機制。ARM處理器共有7種異常類型,每種異常都有自己固定的異常向量地址,且在異常產(chǎn)生后,處理器會切換至相應的異常中斷模式,具體描述如表1所示。

              

             

              ARM支持多中斷嵌套,因此各異常有固定的優(yōu)先級,依次為:復位、數(shù)據(jù)中止、FIQ、IRQ、預取指中止、未定義指令和SWI。各異常向量之間只有4 bit的空間,因此向量表中只能放置跳轉(zhuǎn)指令。通常異常處理結(jié)構(gòu)如圖1所示。

              

             

              2 異常的響應和返回過程

              2.1 異常的響應

              當7種異常中的任何一個在允許響應的前提下發(fā)生時,處理器會進行必要的預處理,其動作如下:

              (1)前程序狀態(tài)字(Thc Current Program Status Register,CPSR)到各異常對應的備份程序狀態(tài)字(The Saved Program Status Regis ter,SPSR)中。

              (2)PSR中的控制位,使處理器進入相應的異常中斷模式,同時切換程序狀態(tài)為ARM狀態(tài),禁止IRQ中斷,若異常響應為復位異?;騀IQ異常,則還要禁止FIQ中斷。

              (3)回地址,并保存到相應的LR寄存器中。

              (4)量地址入PC,跳轉(zhuǎn)并執(zhí)行中斷服務程序。

              2.2 異常的返回

              異常返回在異常服務程序完成后執(zhí)行,內(nèi)核需要用戶自行完成以下返回動作:(1)PSR寄存器的內(nèi)容返還給CPSR寄存器。(2)R寄存器的值賦給PC。(3)入中斷服務程序時保存了部分通用寄存器的值,此時需恢復這些被保存的通用寄存器的值,且在清除中斷禁止位。

              3 異常服務程序的設計

              LPC3250硬件平臺,板上集成兩級中斷控制,共支持74路中斷源。其中一級中斷控制器可接收32路外部中斷請求,所有中斷通過FIQ或IRQ中斷信號通知ARM核,因此需中斷控制器管理所有外部中斷源。

              中斷控制器中,ATR(Activation Type Register)寄存器用于設置中斷的觸發(fā)方式,外部中斷支持沿觸發(fā)和電平觸發(fā);APR(Activation Polarity Register)寄存器用于確定中斷類型,支持高電位有效和低電位有效;ITR(Interrupt Type Register)寄存器用于設置中斷方式,包括FIQ和IRQ兩種,其中FIQ的響應速度和優(yōu)先級高于IRQ,支持數(shù)據(jù)傳輸或信道處理,通過獨有的寄存器來減少占用其他寄存器,通常嵌入式系統(tǒng)將所有外部中斷采用IRQ異常中斷模式管理;IER(InterruptEnable Register)寄存器用于對外部中斷進行屏蔽或使能;RSR(Raw Stat us Register)寄存器用于描述當前所有中斷源狀態(tài)。

              中斷源產(chǎn)生中斷時,處理器從IRQ或FIQ異常入口開始執(zhí)行處理例程。通常嵌入式系統(tǒng)根據(jù)中斷源的差異存在不同的中斷服務程序,為了正確判斷出具體的中斷源,設計在異常向量表之外,系統(tǒng)維護關(guān)聯(lián)中斷控制器的中斷向量表,結(jié)構(gòu)如表2所示。

              

             

              中斷向量表,用于存放具體中斷源對應的中斷服務程序的入口地址。當響應外設中斷請求時,進入中斷服務程序通過中斷控制器識別中斷源,并根據(jù)中斷向量表執(zhí)行處理例程。

              LPC3250平臺設計,不通過中斷控制器進行中斷源的優(yōu)先級控制,通過RSR寄存器獲取中斷源狀態(tài)后,由系統(tǒng)軟件進行中斷源優(yōu)先級配置。中斷處理中由系統(tǒng)選擇當前最高優(yōu)先級中斷,并進入對應中斷源的中斷處理例程,中斷處理過程如圖2所示。

              

             

              4 異常服務程序的實現(xiàn)

              嵌入式實時操作系統(tǒng)中,無論是實時響應并處理來自各個被控對象的實時信息,還是對任務執(zhí)行時間的管理、資源的限時等待等,均需要時鐘的參與。因此,準確且具有足夠精度的時鐘對于實時系統(tǒng)必不可少。

              每次時鐘中斷發(fā)生,時鐘中斷服務程序都會被執(zhí)行。因此時鐘中斷服務程序執(zhí)行的頻率很高,每個系統(tǒng)周期都會被執(zhí)行,這要求程序的處理高效、簡潔。

              由于ARM處理器中FIQ的響應速度和優(yōu)先級均高于IRQ,因此采用FIQ方式實現(xiàn)對處理器時鐘中斷的處理,其他外部中斷由IRQ異常統(tǒng)一管理,異常處理結(jié)構(gòu)圖如圖3所示。

              


            上一頁 1 2 下一頁

            評論


            相關(guān)推薦

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

            關(guān)閉