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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM中斷的基本過程

          ARM中斷的基本過程

          作者: 時間:2016-11-11 來源:網(wǎng)絡 收藏
          ARM中斷基本過程

          在IRQ0腳給個上升沿后,過程是這樣的(比較通用的過程)。
          1)如果你沒有打開該中斷的使能寄存器,沒有任何反應。
          2)如果你打開了使能寄存器,但在對應的屏蔽寄存器中屏蔽了該中斷,也沒有任何反應。
          3)上述兩個寄存器都設置正確了,中斷產(chǎn)生了,CPU保存當前程序運行環(huán)境,跳到中斷入口,ARM芯片一般是0x?地址處。
          4)如果你沒有設置中斷向量,即0x?處不是你的代碼,程序就會飛掉,當然也可能正常運行,這種情況一般發(fā)生在正好飛到正常代碼處。
          5)設置好中斷向量了,中斷向量一般是個跳轉(zhuǎn)語句,跳到你的正式的中斷處理過程,在這里你可以關(guān)閉所有中斷,清中斷,處理等等,然后退出。記住某些處理器一定要清中斷,否則下次再給個上升沿就沒有反應了。

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

          中斷路徑

          如果是irq中斷

          產(chǎn)生irq異常中斷 轉(zhuǎn)到 0x18 1 跳 中斷跳

          如果啟用向量中斷模式

          自動轉(zhuǎn)向?qū)蛄康刂?每地址對應一條跳轉(zhuǎn)指令 2 跳

          跳轉(zhuǎn)到中斷處理程序

          如果使用匯編編寫中斷處理程序

          在該處即可編寫處理程序

          如果使用c語言編寫中斷處理程序

          需要添加與c語言接口程序 3 跳

          方法:1 匯編編寫

          在內(nèi)存空間定義一向量表,用來存放各中斷c語言中斷處理程序入口地址[即函數(shù)入口地址],

          在上述程序跳轉(zhuǎn)到處編寫 將c語言處理程序入口地址放入pc (即跳轉(zhuǎn)到c函數(shù)處)。

          2 c編寫

          在內(nèi)存空間定義指針表[與匯編向量表對應],用來存放各中斷匯編轉(zhuǎn)向c函數(shù)入口地址,

          編寫中斷處理函數(shù),將對應中斷指針內(nèi)容放入函數(shù)入口地址。

          如果不啟用中斷向量模式

          從0x18直接轉(zhuǎn)向中斷處理程序即可

          小結(jié): 上述1 跳為向量中斷模式自動完成,可加快尋找中斷源。

          2 跳為與c語言相結(jié)合,匯編和c利用共同定義的中斷向量地址表完成掛鉤。



          關(guān)鍵詞: ARM中斷基本過

          評論


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