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