RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TOPPERS嵌入式實時操作系統(tǒng)的特點發(fā)展現(xiàn)況研究

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-07-08 08:08 ? 次閱讀

引言

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

1 TOPPERS的歷史

TOPPERS的歷史并不長,但其起點是具有20多年歷史的TRON(The Real-time Operating system Nucleus)和ITRON(Industrial TRON)項目。ITRON規(guī)范為一系列關(guān)于實時操作系統(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ù)開發(fā)。另外,隨著嵌入式系統(tǒng)越發(fā)復(fù)雜,除了實時操作系統(tǒng)內(nèi)核,其他中間件如文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧、設(shè)備驅(qū)動框架等也越發(fā)重要,而在這些方面,ITRON規(guī)范是比較薄弱的。

為了解決上述問題,適應(yīng)未來嵌入式系統(tǒng)發(fā)展趨勢,ITRON的發(fā)展在兩個方向上繼續(xù)進行,一個是由坂村健教授主導(dǎo)的T-Engine,另一個便是TOPPERS。TOPPERS和T-Engine不同點在于TOPPERS是以μITRON4.0規(guī)范為基礎(chǔ),主要針對硬實時系統(tǒng),專注于工業(yè)控制領(lǐng)域,如汽車電子等;T-Engine由硬件上的T-Engine規(guī)范和軟件上的以T-Kernel為代表的一系列實時內(nèi)核以及相應(yīng)的中間件這兩大部分組成。

2 TOPPERS的現(xiàn)狀

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

TOPPERS嵌入式實時操作系統(tǒng)的特點發(fā)展現(xiàn)況研究

2.1 實時內(nèi)核

TOPPERS/ASP(Advanced Standard Profile)內(nèi)核是整個TOPPERS平臺的基石和TOPPERS新一代實時內(nèi)核的出發(fā)點,它遵循μITRON4.0規(guī)范標準功能集,并在TOPPERS/JSP內(nèi)核基礎(chǔ)上做了許多改進和擴展,包括可靠性和代碼的可復(fù)用性,其內(nèi)存占用較小,功能完善且有著不錯的性能。通過擴展包的形式可以對該內(nèi)核的功能進行擴展,如任務(wù)優(yōu)先級可擴展到256級,支持優(yōu)先級置頂協(xié)議的互斥量擴展和受限任務(wù)(類似FreeRTOS中的協(xié)程)擴展等。

TOPPERS/FMP(Flexible MultiProcessor)內(nèi)核是TOPPERS/ASP內(nèi)核針對多核處理器的擴展。該內(nèi)核以靜態(tài)的方式把任務(wù)分配給每個處理器,任務(wù)調(diào)度也在每個處理器上單獨進行,任務(wù)可以在處理器之間靈活地進行遷移,并引入了自旋鎖,支持粗粒度鎖和細粒度鎖。該內(nèi)核主要適用于對稱性多核處理器系統(tǒng),以應(yīng)對嵌入式系統(tǒng)多核化的趨勢,目前支持ARM系列的多核處理器和瑞薩SH系列多核處理器。

TOPPERS/ATK1(Automotive Kernel)內(nèi)核為一個面向汽車電子領(lǐng)域且遵循OSEK/VDX Version 2.2.1規(guī)范的實時內(nèi)核。該內(nèi)核通過了車載軟件的相關(guān)認證,并且在代碼實現(xiàn)上遵循MISRA-C設(shè)計規(guī)范,車載軟件是TOPPERS的優(yōu)勢所在。除了實時內(nèi)核外,TOPPERS還提供面向車載網(wǎng)絡(luò)的CAN/LIN中間件和FlexRay中間件。目前,符合AUTOSAR規(guī)范的新一代車載實時內(nèi)核TOPPERS/ATK2也正在開發(fā)中。

TOPPERS/HRP(High Reliable Profile)內(nèi)核以μITRON4.0規(guī)范的保護功能擴展為基礎(chǔ),帶有內(nèi)存保護和時間保護功能,適用于帶有MPU(Memory ProtectionUnit)或者MMU(Memory Management Unit)單元的系統(tǒng)。該內(nèi)核主要應(yīng)用于對可靠性有很高要求的領(lǐng)域,如航空航天等。內(nèi)存保護主要包括防止對內(nèi)存模塊特定區(qū)域的訪問,防止對特定系統(tǒng)數(shù)據(jù)的訪問和防止分配過多內(nèi)存等。時間保護主要指防止系統(tǒng)中某個任務(wù)或中斷處理函數(shù)過多地占用處理器。

TOPPERS/ASP Safety內(nèi)核基于TOPPERS/ASP內(nèi)核1.3.1版本,對內(nèi)核進行了大量的功能安全分析,在文檔、代碼注釋和部分功能上做了相應(yīng)修改,符合功能安全規(guī)范IEC61058中SIL3的要求,主要應(yīng)用于強調(diào)功能安全的領(lǐng)域,如核電、石化等。

TOPPERS/SSP(Smallest Set Profile)以TOPPERS/ASP內(nèi)核為基礎(chǔ),以盡可能地減少ROMRAM使用量為目的,功能上遵循μITRON4.0規(guī)范中最低限度功能集。該內(nèi)核主要針對資源非常有限的小規(guī)模嵌入式系統(tǒng),如無線傳感器應(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,附加上時間管理擴展包后也只占用5 KB左右的ROM。

2.2 中間件

TECS(TOPPERS Embedded Component System)是一個針對嵌入式系統(tǒng),將各種軟件模塊封裝為組件,并將組件結(jié)合在一起以實現(xiàn)快速構(gòu)建大規(guī)模嵌入式軟件的規(guī)范和工具的集合。其目的在于通過組件化的開發(fā)方式降低嵌入式軟件的開發(fā)難度,減少重復(fù)開發(fā),提高設(shè)計的抽象度和嵌入式軟件的可復(fù)用性。在TECS中,通過組件描述語言CDL(Component Description Language)來描述組件的接口和屬性等,然后解析器分析CDL并生成相應(yīng)的C語言代碼模板,最后用C語言實現(xiàn)相應(yīng)的組件。由于TECS的底層是基于C語言的,且整個過程是靜態(tài)的,所以其在代碼大小和性能上開銷很小,適合于嵌入式系統(tǒng)應(yīng)用。TECS支持遠程過程調(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實現(xiàn)KAME。TINET中許多概念與BSD套接字的概念類似,但重點考慮嵌入系統(tǒng)各種限制中最為嚴格的內(nèi)存容量的限制,刪除了一些傳統(tǒng)BSD套接字接口的TCP/IP協(xié)議棧中對于嵌入式系統(tǒng)多余的功能。

SafeG為一個基于ARM TrustZone技術(shù)的嵌入式虛擬機(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)的若干任務(wù)被調(diào)度。通過SafeG,可以結(jié)合多種操作系統(tǒng)的特點于一體,帶來更多的靈活性,同時保證安全性和可靠性。

2.3 TOPPERS內(nèi)核的主要特征

不同的TOPPERS內(nèi)核覆蓋不同的嵌入式系統(tǒng)領(lǐng)域,但以下兩點幾乎為所有TOPPERS內(nèi)核的主要特征。

(1)靜態(tài)配置

常見的實時操作系統(tǒng)中,系統(tǒng)的配置通過C語言頭文件中的宏定義來實現(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語言具體實現(xiàn)。

TOPPERS嵌入式實時操作系統(tǒng)的特點發(fā)展現(xiàn)況研究

以TOPPERS/ASP內(nèi)核為例,對靜態(tài)配置流程進行簡要描述。靜態(tài)配置流程圖如圖2所示,靜態(tài)配置可以分為3個階段:

①配置器階段1。在該階段中,配置器讀取系統(tǒng)配置文件和符號取值表生成用于參數(shù)計算的C源文件,再經(jīng)交叉C編譯器編譯、鏈接,生成包含具體參數(shù)的結(jié)果文件(Motorola S格式)和對應(yīng)的符號表。

②配置器階段2。在該階段中,配置器依據(jù)上一階段生成的符號表從參數(shù)計算結(jié)果文件中取得實際值,再依據(jù)事先定義好的模板文件,生成包含具體內(nèi)核資源實現(xiàn)的內(nèi)核,構(gòu)成與初始化文件和相應(yīng)的頭文件(也可生成其他文件,由使用者自定義)。所生成的源文件與內(nèi)核和應(yīng)用一起編譯、鏈接,即可生成最終的目標文件和相應(yīng)的符號表。

③配置器階段3。該階段為一個可選的檢查階段。配置器依據(jù)定義在模板文件中的規(guī)則,結(jié)合符號表對最終的目標文件(Motorola S格式)進行檢查,如違反規(guī)則,輸出相應(yīng)錯誤信息。

采用靜態(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)一些編譯器所不能完成的復(fù)雜驗證工作,如堆棧的起始地址是否對齊、堆棧的大小是否對齊等。

(2)TOPPERS標準中斷模型

由于中斷處理和硬件緊密相關(guān),常見的實時操作系統(tǒng)中,中斷具體怎樣處理沒有過多的要求,而是留給移植時實現(xiàn)。在所有TOPPERS內(nèi)核中,中斷處理都遵循如圖3所示的TOPPERS標準中斷處理模型。

TOPPERS嵌入式實時操作系統(tǒng)的特點發(fā)展現(xiàn)況研究

該模型旨在提高中斷處理的抽象度,提升中斷相關(guān)代碼的復(fù)用性和可移植性。在該模型中,所有中斷都具有相應(yīng)的中斷優(yōu)先級,中斷優(yōu)先級(默認-1~-7)和任務(wù)優(yōu)先級(默認1~15)之間過渡平滑,構(gòu)成一個完整的優(yōu)先級體系。在該模型中,每一個中斷都有一條中斷請求線接收一個或多個設(shè)備的中斷請求。當一個中斷請求發(fā)生后,經(jīng)過相應(yīng)的判斷和比較之后,由中斷處理函數(shù)處理。中斷處理函數(shù)可以由使用者定義,也可由配置器自動生成。在中斷處理函數(shù)中調(diào)用由使用者定義的中斷服務(wù)例程。在某個中斷的處理過程中,可以允許被具有更高優(yōu)先級的中斷打斷,即允許中斷嵌套。

TOPPERS標準中斷處理模型中定義的所有環(huán)節(jié)都可以由硬件實現(xiàn),大部分處理器的中斷控制器也包含這些環(huán)節(jié)的功能,如ARM Cortex-M3架構(gòu)處理器的嵌套向量中斷控制器。若某個特定處理器無法硬件實現(xiàn)該模型中某個環(huán)節(jié)的功能,則可以通過軟件的方式模擬實現(xiàn)。軟件模擬的方式會帶來相應(yīng)的開銷,如延長中斷響應(yīng)時間等。然而這種開銷相對于該模型所帶來的中斷處理抽象度的提升是可以接受的。

結(jié)語

本文對開放實時嵌入式軟件平臺TOPPERS的發(fā)展歷史、目前研究現(xiàn)狀(包括主要成果物和主要特點)以及未來十年的發(fā)展方針進行了介紹和分析。其主要特色在于:TOPPERS為一個相對完善的體系,覆蓋了嵌入式系統(tǒng)的多個領(lǐng)域;TOPPERS以ITRON項目20多年發(fā)展成果為基礎(chǔ),具有較高的品質(zhì)和可靠性;靈活的許可證,使得可以自由使用TOPPERS的成果(包括商業(yè)應(yīng)用),同時有較少的限制。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304807
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40276
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6801

    瀏覽量

    123283
  • 嵌入式實時操作系統(tǒng)

    關(guān)注

    1

    文章

    127

    瀏覽量

    7838
收藏 人收藏

    評論

    相關(guān)推薦

    基于實時操作系統(tǒng)嵌入式控制器的設(shè)計

    摘要:本文基于atmega16微處理器和AVRX嵌入式實時操作系統(tǒng)設(shè)計并完成了水秋千的嵌入式控制器.為實現(xiàn)高級控制策略和非線性控制理論研究
    發(fā)表于 04-27 21:41

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

    TOPPERS的歷史、現(xiàn)狀及其下一個十年的發(fā)展計劃和目標,以及TOPPERS在國內(nèi)的發(fā)展情況和目前基于TOPPERS成果正在進行的工作。關(guān)鍵
    發(fā)表于 12-06 10:06

    TOPPERS平臺的現(xiàn)狀是什么?

    開放實時嵌入式軟件平臺TOPPERS(Toyohashi Open Platform for Embedded Real-time System)為一個包含多種嵌入式
    發(fā)表于 08-22 08:11

    嵌入式操作系統(tǒng)發(fā)展

    一.嵌入式操作系統(tǒng)1.嵌入式操作系統(tǒng)發(fā)展(1)Tiny OS操作系統(tǒng)1)開源深度輕量級
    發(fā)表于 10-27 07:26

    嵌入式操作系統(tǒng)特點和應(yīng)用

    文章目錄第一章嵌入式系統(tǒng)簡介:嵌入式操作系統(tǒng)(Embedded Operating System,EOS)是指用于嵌入式
    發(fā)表于 11-08 06:50

    基于Linux的嵌入式操作系統(tǒng)

    嵌入式操作系統(tǒng)一、嵌入式操作系統(tǒng)概述1.1 嵌入式操作系統(tǒng)
    發(fā)表于 11-08 09:05

    嵌入式實時操作系統(tǒng)rtems的特點是什么

    嵌入式實時操作系統(tǒng)rtems的特點研究現(xiàn)狀RTEMS簡介1RTEMS是一個開源的無版稅實時
    發(fā)表于 12-14 07:12

    嵌入式實時操作系統(tǒng)教程

    嵌入式實時操作系統(tǒng)教程:以VRTX為對象詳細介紹了嵌入式實時操作系統(tǒng)的原理和應(yīng)用,特別是第一部分
    發(fā)表于 04-19 21:55 ?44次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>教程

    嵌入式調(diào)查:操作系統(tǒng)應(yīng)用現(xiàn)況分析

    嵌入式系統(tǒng)設(shè)計》雜志在2008年所進行的嵌入式市場調(diào)查結(jié)果已經(jīng)揭曉。上期我們曾報導(dǎo)了該調(diào)查所反映的業(yè)界現(xiàn)況。而本期,我們將著重于這項調(diào)查報告中針對
    發(fā)表于 01-19 10:04 ?659次閱讀
    <b class='flag-5'>嵌入式</b>調(diào)查:<b class='flag-5'>操作系統(tǒng)</b>應(yīng)用<b class='flag-5'>現(xiàn)況</b>分析

    嵌入式操作系統(tǒng)實時性比對與分析

    嵌入式操作系統(tǒng)實時性比對與分析 以影響嵌入式操作系統(tǒng)實時性的一系列相關(guān)指標為
    發(fā)表于 03-29 15:14 ?1863次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>實時</b>性比對與分析

    實時操作系統(tǒng)用于嵌入式應(yīng)用系統(tǒng)的設(shè)計

    概述了嵌入式系統(tǒng)的開發(fā)工具實時操作系統(tǒng)特點和核心內(nèi)容;分析了在利用實時
    發(fā)表于 10-10 15:23 ?42次下載
    <b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>用于<b class='flag-5'>嵌入式</b>應(yīng)用<b class='flag-5'>系統(tǒng)</b>的設(shè)計

    嵌入式實時操作系統(tǒng)MQX內(nèi)核研究

    嵌入式實時操作系統(tǒng)MQX內(nèi)核研究
    發(fā)表于 10-31 08:20 ?7次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>MQX內(nèi)核<b class='flag-5'>研究</b>

    嵌入式實時操作系統(tǒng)的應(yīng)用詳細教程說明

    本文檔的主要內(nèi)容詳細介紹的是嵌入式實時操作系統(tǒng)的應(yīng)用詳細教程說明包括了:1 嵌入式系統(tǒng)嵌入式
    發(fā)表于 12-05 08:00 ?2次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>的應(yīng)用詳細教程說明

    嵌入式實時操作系統(tǒng)

    14 種主流的嵌入式實時操作系統(tǒng) RTOS,分別為μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,而國產(chǎn)的嵌入式
    發(fā)表于 10-20 14:05 ?17次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>

    嵌入式操作系統(tǒng)

    嵌入式操作系統(tǒng)一、嵌入式操作系統(tǒng)概述1.1 嵌入式操作系統(tǒng)
    發(fā)表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>
    RM新时代网站-首页