新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 開放實(shí)時嵌入式軟件平臺TOPPERS的研究現(xiàn)狀

開放實(shí)時嵌入式軟件平臺TOPPERS的研究現(xiàn)狀

作者: 時間:2012-11-07 來源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://butianyuan.cn/article/148265.htm

b.JPG



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉