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