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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > T-Kernel在Blackfin處理器上的移植分析

          T-Kernel在Blackfin處理器上的移植分析

          作者: 時間:2012-03-20 來源:網(wǎng)絡 收藏

          4 在BF533上的移植

          4.1 系統(tǒng)中斷管理

          對處理器中斷資源進行動態(tài)管理,在運行時任務可以動態(tài)更改中斷向量表、注冊和取消中斷,通過系統(tǒng)服務tk_def_int(Define Interrupt Handler) 來實現(xiàn)。

          在中斷管理模塊的移植中,需要考慮以下三點:

          (1)保證中斷狀態(tài)寄存器IMASK的全局性

          在進行上下文保存恢復和臨界區(qū)管理時,必須維持IMASK寄存器為全局變量。如果每個任務都擁有一個局部的IMASK值,則一個任務等待的中斷可能在另一個任務運行時被禁止,造成系統(tǒng)對中斷無法實時響應。同時,tk_def_int函數(shù)需要實現(xiàn)不同任務對各級中斷定義的互斥功能,以保證全局 IMASK的有效和系統(tǒng)的穩(wěn)定。

          (2)中斷前后處理

          中斷前后處理是中斷管理移植的關(guān)鍵,影響到系統(tǒng)穩(wěn)定性和中斷處理的實時性。它對于任務是不可見過程,執(zhí)行不能被中斷。其主要操作包括:保存和恢復上下文;設置標志變量標示任務無關(guān)態(tài)的嵌套;更改堆棧指針使中斷子程序運行在處理器內(nèi)部RAM;取得當前觸發(fā)的最高優(yōu)先級中斷號對應的子程序地址進行調(diào)用;在中斷后處理判斷是否進行任務切換。

          系統(tǒng)為中斷程序分配獨立的內(nèi)部堆棧,使中斷程序運行的地址空間獨立于任務和虛擬存儲地址,加快了中斷程序的處理速度,在系統(tǒng)進入省電模式停止了外部存儲器時也不影響對中斷喚醒的響應。在系統(tǒng)中,中斷處理屬于任務無關(guān)態(tài),其執(zhí)行優(yōu)先級高于任務態(tài),在中斷處理程序中發(fā)生的任務調(diào)度,需要延遲到中斷結(jié)束才能進行切換。當任務無關(guān)態(tài)運行無嵌套,系統(tǒng)允許任務切換,schedtsk不等于ctxtsk三個條件滿足時,中斷結(jié)束后即轉(zhuǎn)入任務切換。

          (3)T-Kernel的系統(tǒng)時鐘中斷

          T-Kernel的系統(tǒng)時鐘中斷使用Blackfin內(nèi)核的core timer 6號中斷。其前后處理步驟與(2)相同,為了保證系統(tǒng)穩(wěn)定性和實時性,一般為系統(tǒng)時鐘的中斷程序分配單獨的堆棧,使其在高速內(nèi)部RAM中執(zhí)行。

          4.2 任務切換模塊的移植

          任務切換包括任務間上下文切換和中斷到任務上下文切換,前者在臨界區(qū)結(jié)束時觸發(fā)軟中斷進入dispatch_entry()完成,后者則在中斷后處理中調(diào)用tk_ret_int()開始執(zhí)行。

          圖2 任務切換流程圖

          dispatch_entry()和tk_ret_int()的處理過程都是保存ctxtsk任務的上下文,替換ctxtsk為schedtsk,恢復其上下文,執(zhí)行流程如圖2所示。二者的不同在于dispatch_entry()軟中斷的優(yōu)先級為14級,而tk_ret_int()在中斷后處理中被調(diào)用,仍處于中斷過程,其優(yōu)先級由中斷處理程序的優(yōu)先級決定;這樣可能出現(xiàn)tk_ret_int()嵌套dispatch_entry()的情況,所以在從tk_ret_int()切入新任務或低功耗狀態(tài)之前需要判斷是否需要清除IPEND寄存器中斷執(zhí)行的標志。當沒有就緒任務時,schedtsk值為空,系統(tǒng)轉(zhuǎn)入低功耗狀態(tài)。



          關(guān)鍵詞: T-Kernel Blakfin T-Engine RTOS移植

          評論


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