T-Kernel在Blackfin處理器上的移植分析
1 概述
在嵌入式RTOS(Real Time Operating System)領(lǐng)域,日本T-Engine組織推出的T-Kernel以其開(kāi)源免費,小體積強實(shí)時(shí)性?xún)群?,統一的接口規范等特點(diǎn)顯出了優(yōu)勢;ADI. Blackfin系列處理器在嵌入式控制和數字信號處理領(lǐng)域應用非常廣泛,同時(shí)結合了MCU(Micro Controller Unit)和DSP特點(diǎn),非常適合于運行RTOS系統。
本文分析T-Kernel內核調度原理和Blackfin處理器內核結構,歸納了T-Kernel在Blackfin處理器BF533系統移植過(guò)程中的三個(gè)主要問(wèn)題:中斷管理,任務(wù)切換和系統調用入口三個(gè)模塊的實(shí)現方法,并討論了系統穩定性和實(shí)時(shí)性的測試以保證系統的穩定性和實(shí)時(shí)性。
2 T-Kernel概述
2.1 T-Kernel的系統結構
圖1 T-Kernel的位置
T-Kernel的系統結構如圖1所示,各功能模塊是以子系統(subsystem)的形式存在的,如設備管理模塊。
T-Kernel的內核是系統默認的子系統,它為應用層提供系統服務(wù)(SVC)接口,同時(shí)管理著(zhù)其他子系統。子系統為應用層提供擴展服務(wù)(Extended SVC)調用接口。系統中各子系統運行在相互獨立的地址空間中,保證了系統的模塊化,易于擴充和裁減。
2.2 T-Kernel的系統狀態(tài)和任務(wù)調度
T-Kernel規范[1]中對系統狀態(tài)做了明確的劃分和定義,移植相關(guān)的狀態(tài)有:(1)任務(wù)態(tài) (Task Portion),指系統運行在應用層最高優(yōu)先級的就緒任務(wù)中;(2)任務(wù)無(wú)關(guān)態(tài) (Task Independent Portion),指系統的中斷和異常處理過(guò)程。任務(wù)無(wú)關(guān)態(tài)具有最高的執行優(yōu)先權,可以中斷其它狀態(tài)的執行。
T-Kernel內核采用了基于優(yōu)先級的可搶先調度策略,優(yōu)先級相同的任務(wù)采用先進(jìn)先出的時(shí)間片輪轉調度,允許任務(wù)動(dòng)態(tài)更改優(yōu)先級。
T-Kernel的任務(wù)調度和切換是分離的過(guò)程。內核中維護著(zhù)按照優(yōu)先級排列的就緒任務(wù)TCB(Task Control Block)指針鏈表隊列。全局指針ctxtsk指向當前運行任務(wù)的TCB。有更高優(yōu)先級任務(wù)就緒時(shí),全局指針schedtsk指向其TCB,此為任務(wù)調度過(guò)程;任務(wù)調度發(fā)生后,必須在條件滿(mǎn)足時(shí),系統觸發(fā)軟中斷異常進(jìn)行任務(wù)切換,將ctxtsk更新為schedtsk,程序轉入新任務(wù)運行。
3 Blackfin處理器概述
Blakcfin處理器內核包含雙算術(shù)處理單元的DSP引擎,執行RISK指令集,結合了優(yōu)異的數字信號處理功能和完善的控制功能。.
Blackfin內核相關(guān)的寄存器除了堆棧和返回地址寄存器:SP(Stack Pointer),FP(Frame Pointer),RETS(Subroutine Return Address Register),RETI(Interrupt Return Address Register),通用數據寄存器R0~R7,通用地址寄存器P0~P7,還包含數字信號處理相關(guān)寄存器 L0~L3,LB0~LB1,LC0~LC1,LT0~LT1,ASTAT,A0~A1,I0~I3, B0~B3,M0~M3. 在任務(wù)切換和中斷前后處理中,需要進(jìn)行寄存器保存恢復及相應的設置[2]。
Blackfin處理器內核支持15個(gè)優(yōu)先級的中斷。ILAT寄存器顯示當前觸發(fā)的中斷;IMASK寄存器控制各優(yōu)先級中斷的使能和禁止;IPEND寄存器顯示當前執行的中斷,其第4位IPEND[4]是全局中斷的使能和禁止位。T-Kernel運行在第15級(最低)中斷處理程序中,這樣系統運行于Supervisor Mode,可以獲得對處理器操作的最大權限[2]。
T-Kernel系統運行在A(yíng)DSP-BF533 EZ-KIT LITE開(kāi)發(fā)板,開(kāi)發(fā)環(huán)境是ADI VisualDSP++4.5 Environment.
評論