色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于OSEK/VDX標準的Trampoline操作系統(tǒng)研究

          基于OSEK/VDX標準的Trampoline操作系統(tǒng)研究

          作者: 時間:2009-05-08 來源:網(wǎng)絡(luò) 收藏

          摘要 介紹了的開源嵌入式實時,詳細分析了該內(nèi)核調(diào)度、任務(wù)管理和中斷管理的實現(xiàn)機制,并指出了為實現(xiàn)高可移植性、小內(nèi)存的設(shè)計目標時對0SEK任務(wù)管理和中斷管理所作的優(yōu)化。最后,給出了在Linux/x86平臺上使用開發(fā)應(yīng)用程序的方法。
          關(guān)鍵詞 Trampoline 任務(wù)調(diào)度 任務(wù)管理 中斷管理

          本文引用地址:http://cafeforensic.com/article/152492.htm


          1 現(xiàn)狀及相關(guān)工作
          OSEK/產(chǎn)生以后,很多操作系統(tǒng)供應(yīng)商對其進行,并實現(xiàn)了商業(yè)化,例如國外Elektrobit Auto―motive、 Accelerated Techno1ogy、 dSPACE、 ETAS、Metrowerks、Hitex、iSYSTEM、Lauterbach Datentechnik、Vector、WindRiver等公司。這些公司的OSEK操作系統(tǒng)產(chǎn)品都通過了OSEK官方認證,并提供了配套的集成開發(fā)環(huán)境來方便應(yīng)用程序的開發(fā)。
          國內(nèi)依據(jù)0SEK/VDX開發(fā)的操作系統(tǒng)內(nèi)核,大部分參考了μC/OS操作系統(tǒng)內(nèi)核的設(shè)計或者是在它的基礎(chǔ)上修改的,也有在Linux的基礎(chǔ)上修改的。國內(nèi)OSEK操作系統(tǒng)配套的集成開發(fā)環(huán)境很少,目前有浙江大學(xué)開發(fā)的SmartIDE、清華大學(xué)開發(fā)的清華車用集成開發(fā)環(huán)境等,其他的基本上沒有配套的集成開發(fā)環(huán)境。因此目前國內(nèi)對OSEK和應(yīng)用還處于初級階段。
          由于購買商業(yè)化的OSEK需要大量資金,并且很多時候不能獲取源代碼,因此希望有一些開源OSEK操作系統(tǒng)來滿足研究的需要?,F(xiàn)有的OSEK操作系統(tǒng)的開源實現(xiàn),有PICosl8,一個OSEK/VDX OS 2.1r1的部分實現(xiàn)。它專門為PICl8XXX系列微控制器設(shè)計,針對該系列微控制器硬件,特別是在內(nèi)存使用方面作了高度優(yōu)化。但是,它的定制能力很差,并且移植到其他平臺時代碼修改量很大。另外還有openOSEK項目,但是該項目一直沒有開發(fā)出正式發(fā)布的版本。
          Trampoline主要是由法國通信研究所(IRCCyN)的實時系統(tǒng)組負責(zé)開發(fā)的。它的源代碼是開放的,能夠兼容OSEK/VDX OS 2.2.3標準(當(dāng)前最新版本為1.1)。它目前還沒有通過OSEK/VDX的官方認證,因此只能說它兼容OSEK標準,而不能說它是通過OSEK認證的操作系統(tǒng)。Trampoline目前能夠在4個平臺上運行,分別是POSIX(包括Linux、Unix、Mac OS等)系列操作系統(tǒng)平臺、Infineon C166平臺、Freescale S12x平臺、Darwin/PowerPC平臺,其中在POSIX系列操作系統(tǒng)上運行時需要libpcl庫的支持。因此,即使沒有微控制器,也可以在常見的Linux/x86平臺上使用Trampoline。
          要對整個OSEK/VDX標準進行研究,對OSEK操作系統(tǒng)的研究是基礎(chǔ)。只有有了一個可以使用的OSEK操作系統(tǒng),才能在它的基礎(chǔ)上進行COM、NM及OIL標準的研究,才能進行OSEK操作系統(tǒng)應(yīng)用程序開發(fā)、汽車電子集成開發(fā)環(huán)境的開發(fā)等方面的研究。Trampoline能夠在Linux平臺上運行,并且有一個可用的GOIL OIL文件解析器,可以作為進行OSEK/VDX標準研究的基礎(chǔ)。


          2 OSEK OS及Trampoline分析
          OSEK操作系統(tǒng)是一種單處理器操作系統(tǒng),主要用于汽車電子的分布電子控制單元ECU(Electronic ControlUnit)上。
          OSEK操作系統(tǒng)對不同版本OSEK操作系統(tǒng)提供的應(yīng)用程序接口進行了標準化,這樣,為一個OSEK操作系統(tǒng)設(shè)計的應(yīng)用程序不用修改就可以移植到其他OSEK操作系統(tǒng)上運行。
          為了使OSEK操作系統(tǒng)能夠在有不同計算能力(不同CPU、不同存儲容量)的ECU上運行,OSEK定義了4個符合類,分別是BCCl、ECCl、BCC2、ECC2。每一個符合類包括一組操作系統(tǒng)特性,代表一類應(yīng)用程序的需求,也包含了這些操作系統(tǒng)特性運行所需要的硬件需求。使用符合類的概念既方便用戶根據(jù)自己的需求及自己的硬件條件來選擇符合自己需要的操作系統(tǒng)特性集合,也使得操作系統(tǒng)供應(yīng)商可以先提供一部分操作系統(tǒng),也就是先提供對部分符合類的支持,然后再增加更多操作系統(tǒng)特性,支持其他符合類,從而方便了操作系統(tǒng)的開發(fā)。
          OSEK操作系統(tǒng)是靜態(tài)配置的,而不是動態(tài)生成的,用戶在系統(tǒng)生成階段能夠使用OIL語言對系統(tǒng)進行配置,指定系統(tǒng)里使用多少個任務(wù)、使用哪些資源、需要調(diào)用哪些系統(tǒng)服務(wù)等。通過這種方式,用戶可以選擇需要的部分,裁剪掉不需要的,以減少不必要的系統(tǒng)資源。另外,由于系統(tǒng)是靜態(tài)生成的,既減少了動態(tài)生成系統(tǒng)對象的開銷,減少系統(tǒng)內(nèi)存的使用,又可以使系統(tǒng)運行時的行為可預(yù)知,提高系統(tǒng)的可靠性和確定性。
          由于OSEK操作系統(tǒng)是靜態(tài)生成的,系統(tǒng)運行時的很多信息在系統(tǒng)生成階段就可以確定,于是它提供的任務(wù)間同步和通信方法比其他常用的嵌入式實時操作系統(tǒng)要少。它用OSEK PCP(Priority Ceiling Protoco1)協(xié)議來同步資源的并發(fā)訪問,從而提供了任務(wù)與ISR之間及ISR與ISR之間共享資源的機制。另外,OSEK操作系統(tǒng)還提供了完善的錯誤處理機制,提高了系統(tǒng)的可靠性和容錯能力。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉