<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時(shí)間:2014-09-10 來(lái)源:網(wǎng)絡(luò) 收藏

            嵌入式時(shí)鐘常用于向操作系統(tǒng)通過(guò)調(diào)度單位,因此中斷狀態(tài)會(huì)持續(xù)直至完成調(diào)度處理,處理完成后由時(shí)鐘源進(jìn)行中斷清除,以開(kāi)始下一周期計(jì)時(shí)。根據(jù)應(yīng)用需求,時(shí)鐘中斷應(yīng)設(shè)置為電平觸發(fā)方式,通過(guò)APR和ATR寄存器,設(shè)置該時(shí)鐘為高電平觸發(fā)模式。通過(guò)ITR寄存器,設(shè)置該時(shí)鐘為FIQ中斷方式。

          本文引用地址:http://www.ex-cimer.com/article/262770.htm

            LPC3250處理器可配置多路時(shí)鐘源,以μs級(jí)時(shí)鐘(Millisecond Timer)為例,根據(jù)應(yīng)用需求,在中斷控制器中對(duì)該中斷源進(jìn)行以下主要設(shè)置:

            Write(VIC_APR,0x3FF0EFF8);//通過(guò)APR寄存器MSTIMER_INT位置1,設(shè)置Millisecond Timer中斷為高電位有效

            write(VIC_ATR,0xFEFFFFFF);//通過(guò)ATR寄存器MSTIMER_INT位置0,設(shè)置Millisecond Timer為電平觸發(fā)

            write(VIC_ITR,0x08000000);//通過(guò)ITR寄存器MSTIMER_INT位置1,設(shè)置Millisecond Timer為FIQ中斷方式

            中斷控制器中設(shè)置完成后,當(dāng)發(fā)生時(shí)鐘中斷時(shí),PC指向FIQ的異常向量入口0x1C處,由于FIQ的向量入口為處理器7種異常向量的尾地址,因此無(wú)需通過(guò)跳轉(zhuǎn)指令進(jìn)行處理例程的跳轉(zhuǎn)。在該入口處對(duì)中斷進(jìn)行以下主要處理:

            sub lr,lr,#4計(jì)算返回地址

            stmfd sp!,{ri-rm,lr}保存使用到的寄存器

            …

            mov lr,pc

            ldr pc,=IntHandler

            …

            Ldmfd sp!,{ri-rm,pc}中斷返回,表示將SPSR的值賦給CPSR

            其中IntHandler為中斷處理接口,主要完成為嵌入式操作系統(tǒng)提供基本的調(diào)度周期以及時(shí)鐘中斷源中斷狀態(tài)的清除。

            完成時(shí)鐘中斷源的清除,需設(shè)置定時(shí)器中ISR(Millisecond Timer Interrupt Status register)寄存器,具體設(shè)置如下:

            write(MSTIMER_ISR,0x1);//通過(guò)時(shí)鐘中ISR寄存器MATCH0_INT位置1,清除時(shí)鐘中斷源

            5 功能及性能測(cè)試

            在完成設(shè)計(jì)、編碼及交叉編譯后,對(duì)該異常機(jī)制在LPC3250目標(biāo)機(jī)上的運(yùn)行的情況進(jìn)行功能和性能測(cè)試。

            5.1 功能測(cè)試

            采用FIQ模式進(jìn)行定時(shí)器中斷處理,操作系統(tǒng)可正確獲取調(diào)度周期,表明該中斷處理功能正確。

            5.2 性能測(cè)試

            由于采用FIQ中斷模式進(jìn)行時(shí)鐘中斷處理,在異常入口處無(wú)需額外的跳轉(zhuǎn)操作,直接進(jìn)行時(shí)鐘中斷處理。且設(shè)計(jì)中FIQ只用于時(shí)鐘中斷,因此無(wú)需從中斷控制器獲取中斷號(hào)的獲取,減少了中斷處理指令,進(jìn)而降低了處理時(shí)間。LPC3250平臺(tái)處理器主頻為266MHz,處理器時(shí)鐘周期為1/266μs,以1/1 000 s為單位向操作系統(tǒng)提供調(diào)度周期為例,總線周期誤差累計(jì)實(shí)驗(yàn)數(shù)據(jù)如圖4所示。

            

           

            實(shí)驗(yàn)中,隨著采樣調(diào)度周期數(shù)的不斷增加,IRQ模式下時(shí)鐘計(jì)時(shí)與理論值的處理器時(shí)鐘周期偏差數(shù)較FIQ模式明顯偏多,F(xiàn)IQ模式計(jì)時(shí)比IRQ模式更接近實(shí)際計(jì)時(shí)。結(jié)果表明,通過(guò)FIQ模式進(jìn)行的時(shí)鐘中斷較IRQ方式更精確。

            6 結(jié)束語(yǔ)

            本文提出一種高效的異常處理方案,并以時(shí)鐘為例進(jìn)行了驗(yàn)證。通過(guò)實(shí)現(xiàn)驗(yàn)證,采用上述FIQ中斷模式所設(shè)計(jì)的時(shí)鐘中斷控制程序,較IRQ模式的時(shí)鐘中斷方式更為高效,能為嵌入式系統(tǒng)提供更為精確的調(diào)度周期,實(shí)驗(yàn)效果與預(yù)期相符。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();