<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > SMARTCAR軟件平臺實(shí)現汽車(chē)電子系統軟件的整體設計

SMARTCAR軟件平臺實(shí)現汽車(chē)電子系統軟件的整體設計

作者:姚琳,EDN China技術(shù)編輯 時(shí)間:2008-09-10 來(lái)源:EDN China 收藏

  隨著(zhù)向著(zhù)化、標準化、網(wǎng)絡(luò )化的方向發(fā)展,開(kāi)發(fā)在產(chǎn)品開(kāi)發(fā)中所占的比重不斷增加,采用平臺化的設計方法降低成本、縮短開(kāi)發(fā)時(shí)間、充分利用已有資源成為一種必然趨勢。

本文引用地址:http://dyxdggzs.com/article/87892.htm

  目前,主要的的開(kāi)發(fā)標準有AUTOSAR、MISRA和OSEK。浙江大學(xué)CCNT實(shí)驗室根據已有的標準和平臺,開(kāi)發(fā)出了SMARTCAR平臺,包括了汽車(chē)平臺和汽車(chē)電子軟件開(kāi)發(fā)平臺。

  浙江大學(xué)副校長(cháng)吳朝暉老師同時(shí)也是CCNT的學(xué)術(shù)帶頭人,他介紹說(shuō),包括面向汽車(chē)的自適應中間件平臺ScudWare和在此基礎上開(kāi)發(fā)的一個(gè)智能汽車(chē)空間原型系統,是由車(chē)載處理中心、各種上下文采集設備、以及一系列遠程Web服務(wù)器組成的一個(gè)計算環(huán)境,主要目的是根據用戶(hù)設定或者當前環(huán)境特性自動(dòng)提供適當的服務(wù),減少用戶(hù)主動(dòng)發(fā)出服務(wù)請求的次數,在車(chē)內形成自發(fā)的、定制的服務(wù)空間,為用戶(hù)提供安全、舒適的行車(chē)環(huán)境。汽車(chē)電子軟件開(kāi)發(fā)平臺SmartOSEK主要包括高可靠強實(shí)時(shí)的操作系統內核SmartOSEK OS、支持服務(wù)的板級支持體系結構SmartOSEK BSS以及支持基于模型設計的圖形化開(kāi)發(fā)環(huán)境SmartOSEK IDE幾大部分。重點(diǎn)解決復雜汽車(chē)電子應用對操作系統的需求問(wèn)題,面向汽車(chē)領(lǐng)域的建模描述問(wèn)題,車(chē)控軟件的有效性驗證問(wèn)題,開(kāi)發(fā)過(guò)程中的文檔和代碼的自動(dòng)生成問(wèn)題,通過(guò)基于模型的軟件開(kāi)發(fā)思想改變系統的傳統開(kāi)發(fā)方法,最終提高汽車(chē)電子控制系統產(chǎn)品開(kāi)發(fā)的效率和產(chǎn)品質(zhì)量,降低開(kāi)發(fā)成本。

  SmartOSEK的組成結構

  SmartOSEK標準重點(diǎn)借鑒OSEK OS、OSEK OIL、OSEK COM、OSEK NM標準。AUTOSAR標準,目前來(lái)說(shuō),主要借鑒了其Architecture的Communication Stack、RTE、System Services、Peripherals標準以及MethodologyAndTools、Application InteRFaces中相關(guān)的部分。MISRA標準主要是借鑒其針對汽車(chē)電子安全代碼的127條規則。

  實(shí)時(shí)操作系統SmartOSEK OS

  SmartOSEK由操作系統、板級支持、開(kāi)發(fā)工具三大部分組成,其操作系統部分SmartOSEK OS是嚴格按照OSEK/VDX規范實(shí)現的,而且是國內第一個(gè)通過(guò)OSEK官方組織認證的符合OSEK規范的嵌入式實(shí)時(shí)操作系統。

  SmartOSEK OS嚴格實(shí)現了OSEK標準所規定的內核模塊,具體包括任務(wù)管理模塊、資源管理模塊、事件機制模塊、定時(shí)器模塊、中斷處理模塊、錯誤處理模塊、內部通信模塊等。

  SmartOSEK內核模塊需要底層模塊的支撐,包括體系相關(guān)模塊、開(kāi)發(fā)調試模塊、硬件驅動(dòng)模塊。體系相關(guān)模塊實(shí)現體系密切相關(guān)部分,如上下文切換等;開(kāi)發(fā)調試模塊針對特定的平臺實(shí)現對應用的監控跟蹤調試;硬件驅動(dòng)模塊包括各研究外設的驅動(dòng)。SmartOSEK OS的應用開(kāi)發(fā)主要面向汽車(chē)電子控制系統,包括發(fā)動(dòng)機控制、變速箱控制、通信系統控制等。圖1是SmartOSEK OS的架構圖。

  SmartOSEK OS可滿(mǎn)足嚴格的片內存儲器要求,內核在4KB~12KB之間(32位PowerPC平臺);主頻為40M的MPC555上的SmartOSEK OS的上下文切換時(shí)間為微秒級;最大中斷屏蔽時(shí)間為21.72μs;最高可承受運行40kHz的中斷。

  板級支持SmartOSEK BSS

  板級支持SmartOSEK BSS是一個(gè)開(kāi)放、通用的平臺,屏蔽具體硬件細節,通過(guò)API向上層操作系統和應用程序提供服務(wù),實(shí)現操作系統和應用程序與硬件無(wú)關(guān)。對于新的硬件平臺,只要SmartOSEK BSS能夠實(shí)現,那么上層軟件就可以方便的移植。同時(shí)SmartOSEK BSS也應該能夠在不同的開(kāi)發(fā)平臺上使用,雖然它的具體實(shí)現可能會(huì )有不同,但接口是統一的。

  參照AUTOSAR標準中對軟件系統的劃分,板級支撐平臺采用層次化結構設計,分為微控制器抽象層和ECU抽象層,同時(shí)將整個(gè)板級支撐平臺按照功能分為四個(gè)模塊。

  MCU抽象層包含各種驅動(dòng),按照功能特點(diǎn)分為四部分:IO驅動(dòng)、通訊驅動(dòng)、存儲驅動(dòng)和微控制器驅動(dòng)。它們是一個(gè)個(gè)軟件模塊,用于直接訪(fǎng)問(wèn)微控制器內的外設或者是內存映射到微控制器的外部設備。MCU抽象層的結構如圖2所示。

  ECU抽象層包含那些通過(guò)網(wǎng)絡(luò )方式連接到微控制器的外部設備的驅動(dòng)。ECU抽象層也分為四個(gè)部分:IO硬件抽象、通訊硬件抽象、存儲硬件抽象、板上設備抽象。

  集成開(kāi)發(fā)環(huán)境SmartOSEK IDE

  SmartOSEK IDE是面向汽車(chē)電子應用、支持SmartOSEK操作系統的集成開(kāi)發(fā)環(huán)境。它充分借鑒了基于模型驅動(dòng)的設計思想,圍繞汽車(chē)電子軟件開(kāi)發(fā)領(lǐng)域V字型流程,提供UML需求建模、SmartC算法建模、狀態(tài)圖模型驗證、系統可調度性分析、自動(dòng)代碼生成、自動(dòng)文檔生成等一整套開(kāi)發(fā)工具鏈。SmartOSEK IDE的總體結構見(jiàn)圖3。

  按照模型驅動(dòng)的開(kāi)發(fā)流程,首先是UML需求建模和結構建模,并對UML進(jìn)行模型驗證,以確定設計是否滿(mǎn)足需求。SmartOSEK IDE提供模型轉換工具,直接把UML模型轉換成SmartC模型,在SmartC模型上進(jìn)行具體算法建模。在模型建立完成后,可以對模型進(jìn)行可調度性分析,以確保該模型滿(mǎn)足可調度性的要求。最后可以自動(dòng)生成針對目標平臺的符合MISRA標準的高質(zhì)量C代碼以及word格式的文檔。

  SmartC是浙江大學(xué)CCNT實(shí)驗室嵌入式系統工程中心(ESE)自主開(kāi)發(fā)的面向汽車(chē)電子領(lǐng)域的系統描述語(yǔ)言,和UML互為補充。SmartC的核心是其層次化建模方法,從上到下將系統的設計分為系統層、構件層、任務(wù)層、子任務(wù)層、組件層五個(gè)層次。系統層關(guān)注的是整個(gè)系統的結構和需求,構件層關(guān)注的是系統的功能需求和軟件部署,任務(wù)層次關(guān)注的是系統的實(shí)現,組件層關(guān)注控制算法的實(shí)現。

  SmartOSEK IDE支持從模型自動(dòng)生成針對SmartOSEK OS的應用程序C代碼。生成的C代碼可以和SmartOSEK OS一起直接編譯運行的,不需要再手動(dòng)修改。SmartOSEK IDE為用戶(hù)手動(dòng)在模型中編寫(xiě)的代碼提供符合MISRA標準代碼檢查器。

  自動(dòng)生成技術(shù)是提高軟件開(kāi)發(fā)效率的重要手段,SmartOSEK IDE自動(dòng)生成工具包括程序代碼的自動(dòng)生成和設計文檔的自動(dòng)生成。程序代碼的自動(dòng)生成根據系統模型的設計和系統的配置文件,快速將預制的程序代碼組合成為實(shí)際的應用系統,能自動(dòng)完成系統框架。預制的代碼包括各種復用的構件、各種驅動(dòng)以及操作系統等代碼,預制代碼越豐富,代碼自動(dòng)生成的效率就越高。設計文檔的自動(dòng)生成是指根據設計的系統模型自動(dòng)生成相關(guān)的設計文檔。自動(dòng)生成技術(shù)能消除傳統軟件開(kāi)發(fā)方法各個(gè)階段之間的壁壘,減少問(wèn)題并提高效率。自動(dòng)生成技術(shù)另外一個(gè)很大的優(yōu)點(diǎn)是能保持生成源與生成目標的同步,即模型和代碼能同步更新,非常好的保持系統的一致性。

  針對不同的硬件平臺,SmartOSEK IDE提供了配置工具在自動(dòng)生成代碼之前進(jìn)行配置和選擇,配置后,能自動(dòng)生成適應不同平臺上運行的代碼。自動(dòng)生成的代碼框架是提前針對不同平臺預制好的,已經(jīng)作過(guò)相應的優(yōu)化。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>