開放實時嵌入式軟件平臺TOPPERS的研究現狀
以TOPPERS/ASP內核為例,對靜態配置流程進行簡要描述。靜態配置流程圖如圖2所示,靜態配置可以分為3個階段:
①配置器階段1。在該階段中,配置器讀取系統配置文件和符號取值表生成用于參數計算的C源文件,再經交叉C編譯器編譯、鏈接,生成包含具體參數的結果文件(Motorola S格式)和對應的符號表。
②配置器階段2。在該階段中,配置器依據上一階段生成的符號表從參數計算結果文件中取得實際值,再依據事先定義好的模板文件,生成包含具體內核資源實現的內核,構成與初始化文件和相應的頭文件(也可生成其他文件,由使用者自定義)。所生成的源文件與內核和應用一起編譯、鏈接,即可生成最終的目標文件和相應的符號表。
③配置器階段3。該階段為一個可選的檢查階段。配置器依據定義在模板文件中的規則,結合符號表對最終的目標文件(Motorola S格式)進行檢查,如違反規則,輸出相應錯誤信息。
采用靜態配置,可以自動化高效地實現對系統的配置和系統資源的創建和分配,減少系統資源的浪費。由于所有系統資源在編譯時就已經創建完畢,不需要在運行時再進行創建工作,所以系統的啟動過程也將得到加快。另外在靜態配置過程中可以實現一些編譯器所不能完成的復雜驗證工作,如堆棧的起始地址是否對齊、堆棧的大小是否對齊等。
(2)TOPPERS標準中斷模型
由于中斷處理和硬件緊密相關,常見的實時操作系統中,中斷具體怎樣處理沒有過多的要求,而是留給移植時實現。在所有TOPPERS內核中,中斷處理都遵循如圖3所示的TOPPERS標準中斷處理模型。本文引用地址:http://cqxgywz.com/article/148265.htm

該模型旨在提高中斷處理的抽象度,提升中斷相關代碼的復用性和可移植性。在該模型中,所有中斷都具有相應的中斷優先級,中斷優先級(默認-1~-7)和任務優先級(默認1~15)之間過渡平滑,構成一個完整的優先級體系。在該模型中,每一個中斷都有一條中斷請求線接收一個或多個設備的中斷請求。當一個中斷請求發生后,經過相應的判斷和比較之后,由中斷處理函數處理。中斷處理函數可以由使用者定義,也可由配置器自動生成。在中斷處理函數中調用由使用者定義的中斷服務例程。在某個中斷的處理過程中,可以允許被具有更高優先級的中斷打斷,即允許中斷嵌套。
TOPPERS標準中斷處理模型中定義的所有環節都可以由硬件實現,大部分處理器的中斷控制器也包含這些環節的功能,如ARM Cortex-M3架構處理器的嵌套向量中斷控制器。若某個特定處理器無法硬件實現該模型中某個環節的功能,則可以通過軟件的方式模擬實現。軟件模擬的方式會帶來相應的開銷,如延長中斷響應時間等。然而這種開銷相對于該模型所帶來的中斷處理抽象度的提升是可以接受的。
結語
本文對開放實時嵌入式軟件平臺TOPPERS的發展歷史、目前研究現狀(包括主要成果物和主要特點)以及未來十年的發展方針進行了介紹和分析。其主要特色在于:TOPPERS為一個相對完善的體系,覆蓋了嵌入式系統的多個領域;TOPPERS以ITRON項目20多年發展成果為基礎,具有較高的品質和可靠性;靈活的許可證,使得可以自由使用TOPPERS的成果(包括商業應用),同時有較少的限制。









評論