《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 開放實時嵌入式軟件平臺TOPPERS的研究現(xiàn)狀
開放實時嵌入式軟件平臺TOPPERS的研究現(xiàn)狀
現(xiàn)代電子技術
任 慰,,何頂新,,趙 金
摘要: 嵌入式系統(tǒng)開發(fā)趨勢之一是基于平臺的開發(fā),,包括硬件平臺和軟件平臺,。開放實時嵌入式軟件平臺TOPPERS(ToyohashiOpenPlatformforEmbeddedReal-timeSystem)是一個包含多種嵌入式實時操作系統(tǒng),、中間件以及軟件開發(fā)工具在內的,,可用于多個領域的綜合性平臺,。本文介紹了TOPPERS的歷史,、現(xiàn)狀及其下一個十年的發(fā)展計劃和目標,,以及TOPPERS在國內的發(fā)展情況和目前基于TOPPERS成果正在進行的工作,。
Abstract:
Key words :

引言
開放實時嵌入式軟件平臺TOPPERS(Toyohashi Open Platform for Embedded Real-time System)為一個包含多種嵌入式實時操作系統(tǒng)、中間件以及軟件開發(fā)工具在內的,,可用于多個領域的綜合性平臺,。本文對TOPPERS的發(fā)展歷史、研究現(xiàn)狀和下一個十年的發(fā)展計劃和目標進行了介紹和分析,,一方面可以使TOPPERS的發(fā)展成果能夠被更廣泛地分享,;另一方面為國內類似嵌入式軟件平臺的發(fā)展提供參考。TOPPERS的主要特色在于具有高質量的設計和較完善的體系,,開放源代碼,,可免費使用,靈活的許可證使得其在商業(yè)應用上限制較少。

1 TOPPERS的歷史
TOPPERS的歷史并不長,,但其起點是具有20多年歷史的TRON(The Real-time Operating system Nucleus)和ITRON(Industrial TRON)項目,。ITRON規(guī)范為一系列關于實時操作系統(tǒng)的開發(fā)規(guī)范,而不是一個具體的實時操作系統(tǒng)的實現(xiàn),,迄今共發(fā)布4個版本,。任何組織或者個人都可以按照ITRON規(guī)范開發(fā)自己的實時操作系統(tǒng)。ITRON規(guī)范的開放性和弱標準性使其取得了巨大的成功,,在日本已經(jīng)成為事實上的工業(yè)標準,。
但也正是因為ITRON規(guī)范的弱標準性,符合ITRON規(guī)范的實時操作系統(tǒng)版本彼此之間不能完全兼容,,帶來了過剩的多樣性,,造成過多重復開發(fā)。另外,,隨著嵌入式系統(tǒng)越發(fā)復雜,,除了實時操作系統(tǒng)內核,其他中間件如文件系統(tǒng),、網(wǎng)絡協(xié)議棧,、設備驅動框架等也越發(fā)重要,而在這些方面,,ITRON規(guī)范是比較薄弱的,。
為了解決上述問題,適應未來嵌入式系統(tǒng)發(fā)展趨勢,,ITRON的發(fā)展在兩個方向上繼續(xù)進行,,一個是由坂村健教授主導的T-Engine,另一個便是TOPPERS,。TOPPERS和T-Engine不同點在于TOPPERS是以μITRON4.0規(guī)范為基礎,,主要針對硬實時系統(tǒng),專注于工業(yè)控制領域,,如汽車電子等;T-Engine由硬件上的T-Engine規(guī)范和軟件上的以T-Kernel為代表的一系列實時內核以及相應的中間件這兩大部分組成,。

2 TOPPERS的現(xiàn)狀
最近一次ITRON規(guī)范的發(fā)布要上溯至1999年的μITRON4.0規(guī)范,。進入新世紀后,一方面嵌入式系統(tǒng)相關技術的發(fā)展日新月異,;另一方面ITRON規(guī)范十多年未作更新,,已經(jīng)無法滿足未來嵌入式系統(tǒng)應用的需求。因此,,從2006年開始,,TOPPERS協(xié)會在μITRON4.0規(guī)范基礎之上開始制定新一代實時內核規(guī)范并加以實現(xiàn),其大致路線圖如圖1所示。到2011年為止,,該路線圖中的絕大部分目標都已經(jīng)達成,,產(chǎn)生一大批成果,并且在消費電子和汽車電子等領域中得到廣泛應用,。

a.JPG

2.1 實時內核
TOPPERS/ASP(Advanced Standard Profile)內核是整個TOPPERS平臺的基石和TOPPERS新一代實時內核的出發(fā)點,,它遵循μITRON4.0規(guī)范標準功能集,并在TOPPERS/JSP內核基礎上做了許多改進和擴展,,包括可靠性和代碼的可復用性,,其內存占用較小,功能完善且有著不錯的性能,。通過擴展包的形式可以對該內核的功能進行擴展,,如任務優(yōu)先級可擴展到256級,支持優(yōu)先級置頂協(xié)議的互斥量擴展和受限任務(類似FreeRTOS中的協(xié)程)擴展等,。
TOPPERS/FMP(Flexible MultiProcessor)內核是TOPPERS/ASP內核針對多核處理器的擴展,。該內核以靜態(tài)的方式把任務分配給每個處理器,任務調度也在每個處理器上單獨進行,,任務可以在處理器之間靈活地進行遷移,,并引入了自旋鎖,支持粗粒度鎖和細粒度鎖,。該內核主要適用于對稱性多核處理器系統(tǒng),,以應對嵌入式系統(tǒng)多核化的趨勢,目前支持ARM系列的多核處理器和瑞薩SH系列多核處理器,。
TOPPERS/ATK1(Automotive Kernel)內核為一個面向汽車電子領域且遵循OSEK/VDX Version 2.2.1規(guī)范的實時內核,。該內核通過了車載軟件的相關認證,并且在代碼實現(xiàn)上遵循MISRA-C設計規(guī)范,,車載軟件是TOPPERS的優(yōu)勢所在,。除了實時內核外,TOPPERS還提供面向車載網(wǎng)絡的CAN/LIN中間件和FlexRay中間件,。目前,,符合AUTOSAR規(guī)范的新一代車載實時內核TOPPERS/ATK2也正在開發(fā)中。
TOPPERS/HRP(High Reliable Profile)內核以μITRON4.0規(guī)范的保護功能擴展為基礎,,帶有內存保護和時間保護功能,,適用于帶有MPU(Memory ProtectionUnit)或者MMU(Memory Management Unit)單元的系統(tǒng)。該內核主要應用于對可靠性有很高要求的領域,,如航空航天等,。內存保護主要包括防止對內存模塊特定區(qū)域的訪問,防止對特定系統(tǒng)數(shù)據(jù)的訪問和防止分配過多內存等,。時間保護主要指防止系統(tǒng)中某個任務或中斷處理函數(shù)過多地占用處理器,。
TOPPERS/ASP Safety內核基于TOPPERS/ASP內核1.3.1版本,,對內核進行了大量的功能安全分析,在文檔,、代碼注釋和部分功能上做了相應修改,,符合功能安全規(guī)范IEC61058中SIL3的要求,主要應用于強調功能安全的領域,,如核電,、石化等。
TOPPERS/SSP(Smallest Set Profile)以TOPPERS/ASP內核為基礎,,以盡可能地減少ROM/RAM使用量為目的,,功能上遵循μITRON4.0規(guī)范中最低限度功能集。該內核主要針對資源非常有限的小規(guī)模嵌入式系統(tǒng),,如無線傳感器應用等,,刪除了任務間通訊功能,精簡了任務管理功能,。在該內核中,,每個任務優(yōu)先級上只允許存在一個任務,最多允許16個任務存在,,并且所有任務共享一個任務堆棧,。該內核針對ARM Cortex-M3內核處理器的典型應用只需占用3.5 KB左右的ROM,附加上時間管理擴展包后也只占用5 KB左右的ROM,。
2.2 中間件
TECS(TOPPERS Embedded Component System)是一個針對嵌入式系統(tǒng),,將各種軟件模塊封裝為組件,并將組件結合在一起以實現(xiàn)快速構建大規(guī)模嵌入式軟件的規(guī)范和工具的集合,。其目的在于通過組件化的開發(fā)方式降低嵌入式軟件的開發(fā)難度,,減少重復開發(fā),提高設計的抽象度和嵌入式軟件的可復用性,。在TECS中,,通過組件描述語言CDL(Component Description Language)來描述組件的接口和屬性等,然后解析器分析CDL并生成相應的C語言代碼模板,,最后用C語言實現(xiàn)相應的組件,。由于TECS的底層是基于C語言的,且整個過程是靜態(tài)的,,所以其在代碼大小和性能上開銷很小,,適合于嵌入式系統(tǒng)應用。TECS支持遠程過程調用(Remote Procedure Call),,可用于分布式嵌入式系統(tǒng)的開發(fā)。
TINET為一個面向嵌入式系統(tǒng)的精簡TCP/IP協(xié)議棧,,遵循ITRON TCP/IP API規(guī)范,,并同時支持IPv4和IPv6協(xié)議,。TINET的IPv4協(xié)議部分來源于FreeBSDVersion 3.4中的網(wǎng)絡協(xié)議棧,IPv6協(xié)議部分來源于著名的IPv6實現(xiàn)KAME,。TINET中許多概念與BSD套接字的概念類似,,但重點考慮嵌入系統(tǒng)各種限制中最為嚴格的內存容量的限制,刪除了一些傳統(tǒng)BSD套接字接口的TCP/IP協(xié)議棧中對于嵌入式系統(tǒng)多余的功能,。
SafeG為一個基于ARM TrustZone技術的嵌入式虛擬機(Embedded Hypervisor),,支持在同一個處理器上同時運行實時操作系統(tǒng)(運行在信任狀態(tài)下)和通用操作系統(tǒng)(運行在非信任狀態(tài)下)并以硬件實現(xiàn)空間和時間上的隔離。SafeG負責信任狀態(tài)和非信任狀態(tài)之間的切換,,并監(jiān)控中斷的產(chǎn)生,,通用操作系統(tǒng)作為實時操作系統(tǒng)的若干任務被調度。通過SafeG,,可以結合多種操作系統(tǒng)的特點于一體,,帶來更多的靈活性,同時保證安全性和可靠性,。
2.3 TOPPERS內核的主要特征
不同的TOPPERS內核覆蓋不同的嵌入式系統(tǒng)領域,,但以下兩點幾乎為所有TOPPERS內核的主要特征。
(1)靜態(tài)配置
常見的實時操作系統(tǒng)中,,系統(tǒng)的配置通過C語言頭文件中的宏定義來實現(xiàn),,系統(tǒng)資源是通過調用C語言API來創(chuàng)建的。在TOPPERS內核中,,系統(tǒng)的配置和系統(tǒng)資源的創(chuàng)建是通過靜態(tài)API來完成的,。靜態(tài)API的相關概念在μITRON4.0規(guī)范中引入。使用者通過編寫由靜態(tài)API組成的系統(tǒng)配置文件(文件后綴為.cfg)來描述系統(tǒng)的組成和所需的系統(tǒng)資源,。TOPPERS內核配置器(configurator)將解析系統(tǒng)配置文件,,并依據(jù)事先定義好的模板文件生成相應的C語言具體實現(xiàn)。

b.JPG

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

c.JPG


該模型旨在提高中斷處理的抽象度,,提升中斷相關代碼的復用性和可移植性,。在該模型中,所有中斷都具有相應的中斷優(yōu)先級,,中斷優(yōu)先級(默認-1~-7)和任務優(yōu)先級(默認1~15)之間過渡平滑,,構成一個完整的優(yōu)先級體系。在該模型中,,每一個中斷都有一條中斷請求線接收一個或多個設備的中斷請求,。當一個中斷請求發(fā)生后,經(jīng)過相應的判斷和比較之后,,由中斷處理函數(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è)應用),同時有較少的限制,。

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。