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

          新聞中心

          EEPW首頁 > 學習方法與實踐 > ARM基礎知識連載(3)

          ARM基礎知識連載(3)

          ——
          作者: 時間:2007-08-03 來源: 收藏

          體系中通常有以下3種方式控制程序的執(zhí)行流程:

          **在正常執(zhí)行過程中,每執(zhí)行一條指令,程序計數(shù)器(PC)的值加4個字節(jié);每執(zhí)行一條Thumb指令,程序計數(shù)器寄存器(PC)加2個字節(jié)。整個過程是按順序執(zhí)行

          。

          **跳轉(zhuǎn)指令,程序可以跳轉(zhuǎn)到特定的地址標號處執(zhí)行,或者跳轉(zhuǎn)到特定的子程序處執(zhí)行。其中,B指令用于執(zhí)行跳轉(zhuǎn)操作;BL指令在執(zhí)行跳轉(zhuǎn)操作同時,保存子程

          序的返回地址;BX指令在執(zhí)行跳轉(zhuǎn)操作同時,根據(jù)目標地址為可以將程序切換到Thumb狀態(tài);BLX指令執(zhí)行3個操作,跳轉(zhuǎn)到目標地址處執(zhí)行,保存子程序的返回

          地址,根據(jù)目標地址為可以將程序切換到Thumb狀態(tài)。

          **當異常中斷發(fā)生時,系統(tǒng)執(zhí)行完當前指令后,將跳轉(zhuǎn)到相應的異常中斷處理程序處執(zhí)行。當異常中斷處理程序執(zhí)行完成后,程序返回到發(fā)生中斷指令的下條指

          令處執(zhí)行。在進入異常中斷處理程序時,要保存被中斷程序的執(zhí)行現(xiàn)場,從異常中斷處理程序退出時,要恢復被中斷程序的執(zhí)行現(xiàn)場。

          中異常中斷的種類

          **復位(RESET)**
          當處理器復位引腳有效時,系統(tǒng)產(chǎn)生復位異常中斷,程序跳轉(zhuǎn)到復位異常中斷處理程序處執(zhí)行。復位異常中斷通常用在下面幾種情況下:系統(tǒng)加電時;系統(tǒng)復位時;跳轉(zhuǎn)到復位中斷向量處執(zhí)行成為軟復位。

          **未定義的指令**
          當ARM處理器或者是系統(tǒng)中的協(xié)處理器認為當前指令未定義時,產(chǎn)生未定義的指令異常中斷,可以通過改異常中斷機制仿真浮點向量運算。

          **軟件中斷**
          這是一個由用戶定義的中斷指令??捎糜谟脩裟J较碌某绦蛘{(diào)用特權(quán)操作指令。在實時操作系統(tǒng)中可以通過該機制西線系統(tǒng)功能調(diào)用。

          **指令與取終止(PrefechAbort)**
          如果處理器預取的指令的地址不存在,或者該地址不允許當前指令訪問,當被預取的指令執(zhí)行時,處理器產(chǎn)生指令預取終止異常中斷。

          **數(shù)據(jù)訪問終止(DATAABORT)
          如果數(shù)據(jù)訪問指令的目標地址不存在,,或者該地址不允許當前指令訪問,處理器產(chǎn)生數(shù)據(jù)訪問終止異常中斷

          **外部中斷請求(IRQ)**
          當處理器的外部中斷請求引腳有效,而且CPSR的寄存器的I控制位被清除時,處理器產(chǎn)生外部中斷請求異常中斷。系統(tǒng)中個外設通過該異常中斷請求處理服務。

          **快速中斷請求(FIQ)**
          當處理器的外部快速中斷請求引腳有效,而且CPSR的F控制位被清除時,處理器產(chǎn)生外部中斷請求異常中斷

          異常中斷向量表及異常中斷優(yōu)先級
          中斷向量表指定了個異常中斷及其處理程序的對應關(guān)系。他通常存放在存儲地址的低端。在ARM體系中,異常中斷向量表的大小為32字節(jié),其中每個異常中斷占據(jù)4個字節(jié)大小,保留了4個字節(jié)空間。
          每個異常中斷對應的中斷向量表中的4個字節(jié)的空間中存放了一個跳轉(zhuǎn)指令或者一個向PC寄存器中賦值的數(shù)據(jù)訪問指令。通過這兩種指令,程序?qū)⑻D(zhuǎn)到相應的異常中斷處理程序處執(zhí)行。當幾個異常中斷同時發(fā)生時,就必須按照一定的次序來處理這些異常中斷。

          各個異常中斷的中斷向量地址以及中斷的處理優(yōu)先級
          中斷向量地址           異常中斷類型             異常中斷模式               優(yōu)先級(6最低)
          0x00                   復位                     特權(quán)模式                   1
          0x04                   未定義的指令             未定義指令終止模式         6
          0x08                   軟件中斷                 特權(quán)模式                   6
          0x0C                   指令預取終止             終止模式                   5
          0x10                   數(shù)據(jù)訪問終止             終止模式                   2
          0x14                   保留                     未使用                     未使用
          0x18                   外部中斷請求             IRQ模式                    4
          0x1C                   快速中斷請求             FIQ模式                    3



          關(guān)鍵詞: ARM

          評論


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