開(kāi)放實(shí)時(shí)嵌入式軟件平臺TOPPERS的研究現狀
以TOPPERS/ASP內核為例,對靜態(tài)配置流程進(jìn)行簡(jiǎn)要描述。靜態(tài)配置流程圖如圖2所示,靜態(tài)配置可以分為3個(gè)階段:
①配置器階段1。在該階段中,配置器讀取系統配置文件和符號取值表生成用于參數計算的C源文件,再經(jīng)交叉C編譯器編譯、鏈接,生成包含具體參數的結果文件(Motorola S格式)和對應的符號表。
②配置器階段2。在該階段中,配置器依據上一階段生成的符號表從參數計算結果文件中取得實(shí)際值,再依據事先定義好的模板文件,生成包含具體內核資源實(shí)現的內核,構成與初始化文件和相應的頭文件(也可生成其他文件,由使用者自定義)。所生成的源文件與內核和應用一起編譯、鏈接,即可生成最終的目標文件和相應的符號表。
③配置器階段3。該階段為一個(gè)可選的檢查階段。配置器依據定義在模板文件中的規則,結合符號表對最終的目標文件(Motorola S格式)進(jìn)行檢查,如違反規則,輸出相應錯誤信息。
采用靜態(tài)配置,可以自動(dòng)化高效地實(shí)現對系統的配置和系統資源的創(chuàng )建和分配,減少系統資源的浪費。由于所有系統資源在編譯時(shí)就已經(jīng)創(chuàng )建完畢,不需要在運行時(shí)再進(jìn)行創(chuàng )建工作,所以系統的啟動(dòng)過(guò)程也將得到加快。另外在靜態(tài)配置過(guò)程中可以實(shí)現一些編譯器所不能完成的復雜驗證工作,如堆棧的起始地址是否對齊、堆棧的大小是否對齊等。
(2)TOPPERS標準中斷模型
由于中斷處理和硬件緊密相關(guān),常見(jiàn)的實(shí)時(shí)操作系統中,中斷具體怎樣處理沒(méi)有過(guò)多的要求,而是留給移植時(shí)實(shí)現。在所有TOPPERS內核中,中斷處理都遵循如圖3所示的TOPPERS標準中斷處理模型。本文引用地址:http://dyxdggzs.com/article/148265.htm
該模型旨在提高中斷處理的抽象度,提升中斷相關(guān)代碼的復用性和可移植性。在該模型中,所有中斷都具有相應的中斷優(yōu)先級,中斷優(yōu)先級(默認-1~-7)和任務(wù)優(yōu)先級(默認1~15)之間過(guò)渡平滑,構成一個(gè)完整的優(yōu)先級體系。在該模型中,每一個(gè)中斷都有一條中斷請求線(xiàn)接收一個(gè)或多個(gè)設備的中斷請求。當一個(gè)中斷請求發(fā)生后,經(jīng)過(guò)相應的判斷和比較之后,由中斷處理函數處理。中斷處理函數可以由使用者定義,也可由配置器自動(dòng)生成。在中斷處理函數中調用由使用者定義的中斷服務(wù)例程。在某個(gè)中斷的處理過(guò)程中,可以允許被具有更高優(yōu)先級的中斷打斷,即允許中斷嵌套。
TOPPERS標準中斷處理模型中定義的所有環(huán)節都可以由硬件實(shí)現,大部分處理器的中斷控制器也包含這些環(huán)節的功能,如ARM Cortex-M3架構處理器的嵌套向量中斷控制器。若某個(gè)特定處理器無(wú)法硬件實(shí)現該模型中某個(gè)環(huán)節的功能,則可以通過(guò)軟件的方式模擬實(shí)現。軟件模擬的方式會(huì )帶來(lái)相應的開(kāi)銷(xiāo),如延長(cháng)中斷響應時(shí)間等。然而這種開(kāi)銷(xiāo)相對于該模型所帶來(lái)的中斷處理抽象度的提升是可以接受的。
結語(yǔ)
本文對開(kāi)放實(shí)時(shí)嵌入式軟件平臺TOPPERS的發(fā)展歷史、目前研究現狀(包括主要成果物和主要特點(diǎn))以及未來(lái)十年的發(fā)展方針進(jìn)行了介紹和分析。其主要特色在于:TOPPERS為一個(gè)相對完善的體系,覆蓋了嵌入式系統的多個(gè)領(lǐng)域;TOPPERS以ITRON項目20多年發(fā)展成果為基礎,具有較高的品質(zhì)和可靠性;靈活的許可證,使得可以自由使用TOPPERS的成果(包括商業(yè)應用),同時(shí)有較少的限制。
評論