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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TQ2440國(guó)嵌學(xué)院gboot-異常向量表

          TQ2440國(guó)嵌學(xué)院gboot-異常向量表

          作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
          國(guó)嵌學(xué)院TQ2440開(kāi)發(fā)板gboot設(shè)計(jì)-基本框架設(shè)計(jì)

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

          異常:指中斷,在CPU工作的時(shí)候,有突然的事件需要CPU去處理,此時(shí)CPU停止正在的工作,去處理突然的事情,待處理完畢后重新返回。

          異常向量:是指異常事件對(duì)應(yīng)的固定地址,CPU通過(guò)對(duì)應(yīng)的地址去處理事件。

          在ARM Architecture Reference Manual手冊(cè)中,搜索關(guān)鍵字Exceptions,找到如下對(duì)應(yīng)的7種異常:

          ARM的7種異常

          1.Reset(復(fù)位)

          2.Undefined insrtuction(未定義的命令)

          3.Software interrupt(軟中斷)

          4.Prefetch Abort(預(yù)取指令異常)

          5.Data Abort(數(shù)據(jù)訪問(wèn)異常)

          6.IRQ(中斷)

          7.FIQ(快速中斷)

          ARM指令解析:

          ①ARM指令B和BL的差異

          B或BL指令引起處理器轉(zhuǎn)移到“子程序名”處開(kāi)始執(zhí)行。兩者的不同之處在于BL指令在轉(zhuǎn)移到子程序執(zhí)行之前,將其下一條指令的地址拷貝到R14(LR,鏈接寄存器)。由于BL指令保存了下條指令的地址,因此使用指令“MOV PC ,LR”即可實(shí)現(xiàn)子程序的返回。而B(niǎo)指令則無(wú)法實(shí)現(xiàn)子程序的返回,只能實(shí)現(xiàn)單純的跳轉(zhuǎn)。用戶(hù)在編程的時(shí)候,可根據(jù)具體應(yīng)用選用合適的子程序調(diào)用語(yǔ)句。

          ②ARM指令ldr

          代碼如下:

          .text//宏指明代碼段

          .global _start//global偽指令聲明_start是全局符號(hào)

          _start:

          b reset//對(duì)應(yīng)地址0x00000000

          ldr pc,_undefined_interrupt//對(duì)應(yīng)地址0x00000004

          ldr pc,_software_interrupt//對(duì)應(yīng)地址0x00000008

          ldr pc,_prefetch_abort//對(duì)應(yīng)地址0x0000000C

          ldr pc,_data_abort//對(duì)應(yīng)地址0x00000010

          ldr pc,_not_used//對(duì)應(yīng)地址0x00000014

          ldr pc,_irq//對(duì)應(yīng)地址0x00000018

          ldr pc,_fiq//對(duì)應(yīng)地址0x0000001C

          _undefined_interrupt:.word undefined_interrupt

          _software_interrupt:.word software_interrupt

          _prefetch_abort:.word prefetch_abort

          _data_abort:.word data_abort

          _not_used:.word not_used

          _irq:.word irq

          _fiq:.word fiq

          undefined_interrupt:

          nop

          software_interrupt:

          nop

          prefetch_abort:

          nop

          data_abort:

          nop

          not_used:

          nop

          irq:

          nop

          fiq:

          nop
          reset:

          nop



          評(píng)論


          技術(shù)專(zhuān)區(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); })();