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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM S3C4510B系統(tǒng)中的異常中斷技術(shù)

          ARM S3C4510B系統(tǒng)中的異常中斷技術(shù)

          作者: 時(shí)間:2012-03-29 來源:網(wǎng)絡(luò) 收藏

          3.2 SWI的調(diào)用與返回

          對(duì)于SWI的調(diào)用要根據(jù)現(xiàn)場(chǎng)所處的處理器模式進(jìn)行調(diào)用。通常用戶模式下調(diào)用SWI功能只需將處理器所需要的參數(shù)存放于寄存器中,然后調(diào)用相應(yīng)功能號(hào)的功能。

          Mov r0,#80
          假設(shè)參數(shù)為#80
          swi 0X1
          SWI中斷立即數(shù)1

          由于SWI中斷功能調(diào)用在特權(quán)模式下執(zhí)行,故而當(dāng)在特權(quán)模式下調(diào)用SWI功能時(shí),必須對(duì)當(dāng)前模式下的SPSR和寄存器LR進(jìn)行保存。
          stmfd sp!,{r0-r12,lr}
          保存寄存器
          mov r1,sp
          mov r0, spsr_svc
          stmfd sp!,{r0} ;保存SPSR
          ……
          讀取立即數(shù),調(diào)用SWI中斷處理程序
          ldmfd sp!,{r0}  ;恢復(fù)SPSR
          msr spsr_svc, r0
          ldmdf sp!,{r0-r12,lr}^ ;恢復(fù)其他寄存器

          4 中的IRQ中斷實(shí)例

          4.1 IRQ異常中斷的產(chǎn)生

          處理器常用于進(jìn)行外部異常的響應(yīng)和操作系統(tǒng)進(jìn)程的控制。CPSR寄存器的I控制位置0時(shí),處理器在指令邊界查詢是否有IRQ請(qǐng)求,系統(tǒng)的外部中斷管理器或者外設(shè)通過使能處理器的IRQ輸入管腳產(chǎn)生IRQ異常中斷。

          4.2 IRQ異常中斷的處理程序

          IRQ異常中斷產(chǎn)生后,根據(jù)中斷向量的指令跳入相應(yīng)的中斷處理程序。系統(tǒng)的外圍中斷管理硬件會(huì)將所用的IRQ中斷請(qǐng)求按照優(yōu)先級(jí)進(jìn)行排列,把最高優(yōu)先級(jí)的IRQ中斷的信息放入寄存器中。通常的IRQ中斷處理程序也需要保存返回地址、寄存器,而且需要屏蔽IRQ中斷,以保證優(yōu)先級(jí)較高的中斷完全處理。
          sub lr,lr,#4
          stmfd sp!,{lr}
          保存返回地址
          mrs r14,spsr_irq
          stmfd sp!,[r12,r14]
          保存r12,spsr
          mov r12,#IntBase
          讀取中斷管理接口的基址

          ldr r12,[r12,#IntLevel]
          計(jì)算當(dāng)前中斷的物理地址
          mrs r14,cpsr
          bic r14,r14,#0X80
          清零IRQ中斷禁止位
          msr cpsr_irq,r14
          開IRQ中斷
          ldr pc,[ pc,r12,lsr #2]
          跳轉(zhuǎn)到相應(yīng)的中斷處理程序
          dcd PirQ0Handler
          dcd PirQ1Handler

          dcd PirQnHandler
          優(yōu)先級(jí)為n的中斷處理程序地址
          PirQ0Handler
          stmfd sp!,{r0-r11}
          ……
          優(yōu)先級(jí)為1的中斷處理程序
          ldmfd sp!,{r0-r11}
          msr spsr_irq,r14
          恢復(fù)r12和spsr
          ldmfd sp!,{pc}^ ;中段返回
          ……
          dcd PirQnHandler
          中斷優(yōu)先級(jí)為N的中斷處理程序
          ……

          塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理


          評(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); })();