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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > vxworks Arm 架構(gòu)下的中斷

          vxworks Arm 架構(gòu)下的中斷

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          中斷的處理分為三個部分:
          1、中斷檢測:
          arm架構(gòu)下,中斷監(jiān)測部分的代碼是需要用戶自己開發(fā)的,可以參考ambaIntrCtl.c,需要實現(xiàn)函數(shù)xxxIntLvlVecChk、xxxIntLvlVecAck、xxxIntLvlChg、xxxIntLvlEnable、xxxIntLvlDisable和xxxIntDevInit,在函數(shù)xxxIntDevInit中把其他幾個函數(shù)分別掛載在sysIntLvlVecChkRtn、sysIntLvlVecAckRtn、sysIntLvlChgRtn、sysIntLvlEnableRtn和sysIntLvlDisableRtn這幾個鉤子函數(shù)上。xxxIntDevInit在sysLib.c中的sysHwInit2中調(diào)用,以初始化中斷。
          2、中斷管理:
          中斷管理部分,BSP中需要調(diào)用兩個函數(shù),一個是intLibInit,另一個是xxxIntDevInit。后者的作用就是前面講的掛接中斷處理鉤子函數(shù)。前者intLibInit是個比較關(guān)鍵的函數(shù),三個參數(shù)設(shè)置了中斷的個數(shù)和中斷模式。內(nèi)部處理中,根據(jù)中斷的個數(shù)申請intVecTable數(shù)組,用戶使用intConnect代碼掛接的中斷就是根據(jù)中斷向量到表中查找位置然后賦以中斷處理函數(shù)。中斷模式分可搶占和不可搶占兩種,分別對應(yīng)INT_PREEMPT_MODEL和INT_NON_PREEMPT_MODEL。
          3、中斷處理:
          根據(jù)vxWorks的實現(xiàn)代碼,在excArchLib.c中有一張表:
          LOCAL EXC_TBL excEnterTbl[NUM_EXC_VECS] =
          {
          /* no entry for branch through zero */
          { EXC_OFF_UNDEF, excEnterUndef},/* undefined instr */
          { EXC_OFF_SWI,excEnterSwi},/* software interrupt */
          { EXC_OFF_PREFETCH,excEnterPrefetchAbort}, /* prefetch abort */
          { EXC_OFF_DATA,excEnterDataAbort}, /* data abort */
          /* no entry for old address exception */
          { EXC_OFF_IRQ,intEnt},/* interrupt request */
          /* no entry for FIQ */
          };
          其中EXC_OFF_IRQ對應(yīng)的即外部中斷,缺省情況下,調(diào)用的是intEnt,但是正常運行的時候,BSP代碼在intLibInit中會使用intIntRtnPreempt或者intIntRtnNonPreempt把intEnt替換掉,具體使用哪個由中斷處理模式?jīng)Q定。
          中斷發(fā)生后,先產(chǎn)生外部中斷異常,即IRQ,進(jìn)入excExcHandle,excExcHandle查找列表excEnterTbl找到EXC_OFF_IRQ對應(yīng)的處理函數(shù)intIntRtnPreempt或者intIntRtnNonPreempt,在intIntRtnPreempt或者intIntRtnNonPreempt里面,調(diào)用intVecTable里相應(yīng)中斷向量對應(yīng)的中斷處理函數(shù)。


          關(guān)鍵詞: vxworksArm架構(gòu)中

          評論


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