AUTOSAR初學(xué)者最想搞懂的東西
我之前在《如何學(xué)習(xí)AUTOSAR》文章里提到過我之前學(xué)習(xí)AUTOSAR的苦逼經(jīng)歷,真正體驗(yàn)到了摸石頭過河的滋味。當(dāng)年公司剛拿到那個(gè)AUTOSAR項(xiàng)目時(shí),第一感覺就是一臉懵逼,憋著一股勁,就是不知道如何下手。很想動(dòng)手搞一搞吧,就是不知道這啥,最直接讓我懵逼的是——不知道買回來的這個(gè)包有啥玩意,這些工具干什么的,怎么用?“直接寫代碼吧”這種想法已經(jīng)不存在了。我們公司用的是Vector的方案,以下只針其方案和工具使用做講解。如果讀者你用的不是這家的,就當(dāng)了解下吧,不要入戲太深。1. 什么是Tire1、Tire2、OEM、ECU
這里提幾個(gè)概念,什么是Tire1、Tire2、OEM?雖然跟AUTOSAR關(guān)系不是很大,但常常遇到,了解下比較好。沒在車載行業(yè)混過或者剛?cè)肼氒囕d行業(yè)的小伙伴可能不知道。Tire1,即Tire One,意為車廠一級(jí)供應(yīng)商,給設(shè)備廠商供貨,也就是車廠零部件的供應(yīng)商。那么Tire2呢,就是二級(jí)供應(yīng)商,可以理解為Tire1的供應(yīng)商,例如Tire1在搞儀表產(chǎn)品,就需要向Tire2購買零部件,如電機(jī)、指針等等。
而OEM,是Original Equipment Manufacturer的縮寫,通常指設(shè)備廠商/主機(jī)廠/整車廠,例如寶馬、豐田、大眾、廣汽、BYD等等。
ECU就是Electronic Control Unit,就是你開發(fā)的那個(gè)項(xiàng)目器件,例如空調(diào)控制器算是一個(gè)ECU、娛樂系統(tǒng)主機(jī)也是一個(gè)ECU。
2. 什么是SIPSIP或者叫SIP包,即Software Integration Package,是Tier1在做AUTOSAR項(xiàng)目前,向Vector購買集成了AUTOSAR方案的軟件包,Vector最終交付給Tire1時(shí)的軟件包就是SIP包 。那么Tire1開發(fā)者,就基于這個(gè)SIP包來做項(xiàng)目上的應(yīng)用開發(fā)。
Hardware License Package (HLP)
而SIP又有分幾種類型,如:Beta SIP 、Production SIP 、QM Approval SIP、Update SIP 、Prototype SIP 和Mini SIP 等。是不是開始蒙圈了,好了,先不要管這些,記住SIP包這個(gè)概念即可,其他的你慢慢就會(huì)懂的了。3. SIP里有什么
SIP里有什么?直接打開SIP包看不就知道了,這個(gè)問題是不是有點(diǎn)多余?也并不是,如果剛接觸這個(gè)東西的小伙伴,可能搞不清里面有什么,因?yàn)槔锩娴奈募嗔?,壓縮包都有好幾百M(fèi)B。直接截個(gè)圖來看看,你知道這里面這些是啥么?

內(nèi)容 |
解釋 |
Applications |
是Vector對(duì)這個(gè)軟件包,做了一個(gè)應(yīng)用工程,可以理解為一個(gè)Demo,你可以根據(jù)這個(gè)案例來建你的工程。 |
BSW |
一些BSW層的源碼,在通過Configurator添加模塊生成代碼得的時(shí)候,工具會(huì)將這些代碼拷貝到你的工程。 |
BSWMD |
這個(gè)文件夾里面存放這生成BSW配置的一些策略和關(guān)聯(lián)關(guān)系,都是些arxml文件來的,和Configurator息息相關(guān)。 |
DaVinciConfigurator |
就是Vector的第二個(gè)工具了,另外一個(gè)是Developer,這個(gè)Configurator是一個(gè)運(yùn)行軟件,和SIP集成在一起,有可能是因?yàn)榘姹竞蚅icense問題才這么綁定的。 |
Doc |
就是這個(gè)SIP包的一些參考文檔,很有用。 |
Generators |
就是一些組件的配置生成器,相當(dāng)于Configurator的插件,通常是寫exe等文件。 |
Misc |
一些不好分類的雜項(xiàng)。 |
ThirdParty |
就是Vector以外的第三方的內(nèi)容,一般是MCAL |
Developer是干什么的呢?簡而言之,就是配置SWC(Software Component)即Application Layer上的東西用的?



-
AUTOSAR SWC詳解
- AUTOSAR Port原理概念詳解
-
AUTOSAR Port配置教程
- AUTOSAR Runnable詳解和配置步驟
5. DaVinci Configurator這個(gè)就是上文提到的DaVinciConfigurator,有時(shí)候看到Configurator Pro也是這玩意。那么它是做什么用的呢?可以如果你不想看文字,我這里有個(gè)視頻可以了解下。
DaVinci Configurator Pro 讓您可以為您的 ECU 配置和生成 AUTOSAR 基礎(chǔ)軟件 (BSW) 和 RTE——無論它們是 Vector (MICROSAR) 的 BSW 模塊還是第三方生產(chǎn)商(例如半導(dǎo)體制造商的 MCAL),甚至是您自己創(chuàng)建的 BSW 模塊 . 多階段和基于規(guī)則的驗(yàn)證過程確保所有配置參數(shù)的模塊間一致性。
最簡單直觀的理解,它是用于做中間層的配置和生成代碼的,但這樣理解也不完整,因?yàn)樗€可以生成SWC和MCAL的配置代碼。綜合來說,Developer配置好SWC以及其Port和Runnable后,這個(gè)過程是體現(xiàn)在arxml的配置文件上的,也就是Developer做了一大堆的設(shè)計(jì),是更改了相應(yīng)的arxml文件。這時(shí)需要Configurator打開工程(相當(dāng)于導(dǎo)入了這些arxml),然后verify或generate代碼。對(duì)于BSW和RTE層,例如OS、RTE、BSWM等,這些是直接在Configurator上面做配置的,然后verify或generate代碼。那么MCAL呢,對(duì)于Vector來說,MCAL是他們的ThirdParty內(nèi)容,SIP里面提供了相關(guān)方法將MCAL集成到SIP中,即將MCAL里面的生成器、驅(qū)動(dòng)源碼、ARXML等按預(yù)定的方法集成到SIP中。這樣Configurator可以引用MCAL的ARXML文件以及調(diào)研MCAL提供的生成器來生成MCAL的配置代碼。以上簡單描述了Developer和Configurator的一些基本功能或作用,如果你深入學(xué)習(xí)研究,可能還會(huì)發(fā)現(xiàn)一些其他的作用。6. ARXML上面提到了ARXML這個(gè)東西,到底是什么?
可以理解為它就是XML格式,只是它有更嚴(yán)格的定義,用于AUTOSAR的。從上面的講解,可以指定ARXML文件承載著各種各樣的配置信息,而且還穿插在SWC、RTE、BSW和MCAL之間??上攵?,他是有一套很規(guī)范的定義的。這些東西,實(shí)際上可以聯(lián)系到,在看AUTOSAR規(guī)范時(shí)遇到的“方法論”這個(gè)概念,就是這個(gè)方法論貫穿于整個(gè)AUTOSAR和工具的使用。
但對(duì)初學(xué)者來說,知道這些概念就夠了,暫時(shí)沒必要搞懂這個(gè)方法論是什么、ARXML定義了什么內(nèi)容。
7. AUTOSAR的理論知識(shí)和架構(gòu)搞懂了這些概念和工具的用途后,接下來你就會(huì)很想了解AUTOSAR是啥東西了。也許你在開始搞這個(gè)AUTOSAR的項(xiàng)目之前,你應(yīng)該通過一些簡單的培訓(xùn)或者閱讀過介紹的文檔,知道了AUTOSAR這個(gè)框架了。
我這里也有幾個(gè)文章講解這個(gè)的,有需要可以參考下,對(duì)初學(xué)者有一定幫助:
-
我淡定地?cái)]了一遍AUTOSAR的基本概念
-
如何研讀AUTOSAR官方文檔
-
AUTOSAR架構(gòu)的故事(干貨)
-
AUTOSAR架構(gòu)之通信服務(wù)(干貨)
-
這次我要通過Interface來貫穿整個(gè)AUTOSAR架構(gòu)
本文就不重復(fù)這些內(nèi)容了。
上面只提到了DaVinci Developer和Configurator的用途,大家剛接觸這套工具鏈的時(shí)候,還會(huì)很疑惑,怎么用它。這是正常的,除了迷糊,你還很渴望駕馭它。
我這方面的教程不是很多,目前有兩個(gè)可以參考下:
-
AUTOSAR折磨,從新建工程開始
-
AUTOSAR開發(fā)工具DaVinci Configurator里的Modules
后續(xù),我會(huì)針對(duì)DaVinci Developer和Configurator做個(gè)專門詳細(xì)的講解。