詳解AUTOSAR:AUTOSAR方法論(理論篇—3)
AUTOSAR方法論是指AUTOSAR為汽車(chē)電子軟件系統(tǒng)開(kāi)發(fā)過(guò)程定義的一套通用技術(shù)方法。該方法論描述了從系統(tǒng)層配置到ECU可執(zhí)行代碼產(chǎn)生過(guò)程的設(shè)計(jì)步驟,如下圖所示:
AUTOSAR設(shè)計(jì)和開(kāi)發(fā)流程分為三個(gè)階段:系統(tǒng)配置階段、ECU設(shè)計(jì)與配置階段、代碼生成階段。
系統(tǒng)配置階段:是系統(tǒng)設(shè)計(jì)者或架構(gòu)師的任務(wù)。包括選擇硬件和軟件組件,定義整個(gè)系統(tǒng)的約束條件。AUTOSAR通過(guò)使用信息交換格式和模板描述文件來(lái)減少初始系統(tǒng)設(shè)計(jì)時(shí)的工作量。系統(tǒng)配置的輸入是XML類(lèi)型的文件,輸出是系統(tǒng)配置描述文件,系統(tǒng)配置的主要作用是把軟件組件的需求映射到ECU上。
ECU設(shè)計(jì)與配置階段:根據(jù)系統(tǒng)配置描述文件提取單個(gè)ECU資源相關(guān)的信息,提取出來(lái)的信息生成ECU提取文件。根據(jù)這個(gè)提取文件對(duì)ECU進(jìn)行配置,例如操作系統(tǒng)任務(wù)調(diào)度,必要的BSW模塊及其配置,運(yùn)行實(shí)體到任務(wù)的分配等,從而生成ECU配置描述文件。該描述文件包含了特定ECU的所有信息。
代碼生成階段:基于ECU配置描述文件指定的配置來(lái)產(chǎn)生代碼、編譯代碼,并把相關(guān)的代碼鏈接起來(lái)形成可執(zhí)行文件。
1
編寫(xiě)系統(tǒng)配置輸入描述文件
在AUTOSAR中,所有的描述文件都是XML類(lèi)型的文件。系統(tǒng)配置輸入文件包含三部分內(nèi)容:
軟件組件描述:定義了每個(gè)涉及的軟件組件的接口內(nèi)容,如數(shù)據(jù)類(lèi)型、端口、接口等。
ECU資源描述:定義了每個(gè)ECU的資源需求,如處理器、存儲(chǔ)器、外圍設(shè)備、傳感器和執(zhí)行器等。
系統(tǒng)約束描述:定義了總線信號(hào),軟件組件間的拓?fù)浣Y(jié)構(gòu)和映射關(guān)系。
2
系統(tǒng)配置
系統(tǒng)配置的功能主要是在資源和時(shí)序關(guān)系的前提下,把軟件組件映射到各個(gè)ECU上,然后借助系統(tǒng)配置生成器生成系統(tǒng)配置描述文件。這個(gè)描述文件包括總線映射之類(lèi)的所有系統(tǒng)信息以及軟件組件與某個(gè)ECU的映射關(guān)系。
3
提取特定ECU的描述
從系統(tǒng)配置描述文件中提取出與各個(gè)ECU相關(guān)的系統(tǒng)配置描述信息,提取的信息包括ECU通信矩陣、拓?fù)浣Y(jié)構(gòu)、映射到該ECU上的所有軟件組件,并將這些信息放在各個(gè)ECU的提取文件中。
4
ECU配置
ECU 配置主要是為該ECU添加必要的信息和數(shù)據(jù),如任務(wù)調(diào)度、必要的基礎(chǔ)軟件模塊及其配置、運(yùn)行實(shí)體及任務(wù)分配等,并將結(jié)果保存在ECU配置描述文件中,該文件包含了屬于特定 ECU的所有信息,換言之,ECU上運(yùn)行的軟件可根據(jù)這些信息構(gòu)造出來(lái)。
5
生成可執(zhí)行文件
根據(jù)ECU配置描述文件中的配置信息,生成RTE和基礎(chǔ)軟件配置的代碼,完成基礎(chǔ)軟件和軟件組件的集成,最終生成ECU的可執(zhí)行代碼。
AUTOSAR 的各個(gè)設(shè)計(jì)階段都會(huì)產(chǎn)生一定的數(shù)據(jù)輸出,因此整個(gè)開(kāi)發(fā)流程工作量較大且復(fù)雜性高。如果沒(méi)有一套完整工具鏈的支持,軟件開(kāi)發(fā)周期和可靠性將難以得到保證。
Vector公司在AUTOSAR的開(kāi)發(fā)過(guò)程中為用戶提供了一套完整的工具鏈,方便用戶高效地開(kāi)發(fā)基于AUTOSAR的應(yīng)用軟件,并最終生成符合AUTOSAR 規(guī)范的嵌入式代碼。下圖顯示了Vector公司在每個(gè)開(kāi)發(fā)環(huán)節(jié)所提供的相關(guān)工具。
Vector 公司提供的整套工具鏈可以讓客戶更加高效可靠地開(kāi)發(fā)基于AUTOSAR的ECU 軟件。在系統(tǒng)級(jí)設(shè)計(jì)階段,Vector公司提供的 PREEvision 軟件用于架構(gòu)設(shè)計(jì),CANdela Studio 用于診斷文件的設(shè)計(jì)。在 ECU設(shè)計(jì)階段,Vector公司提供的Davinci工具可以方便客戶完成SWC和BSW的設(shè)計(jì)并生成相應(yīng)的代碼。
本公眾號(hào)技術(shù)輸出的核心點(diǎn)就是:物聯(lián)網(wǎng):全面感知(感知層)、可靠傳輸(網(wǎng)絡(luò)層)、智能處理(應(yīng)用層),這個(gè)體系是非常龐大繁雜的,可以說(shuō)目前所有的技術(shù)都離不開(kāi)物聯(lián)網(wǎng)三層架構(gòu)。
我們所分享的內(nèi)容也只是在工作和學(xué)習(xí)過(guò)程中所擅長(zhǎng)的某一領(lǐng)域,體系內(nèi)容如下圖所示:
創(chuàng)作者:關(guān)關(guān)長(zhǎng)語(yǔ),主要分享:.Net Core 實(shí)現(xiàn)對(duì)后端的服務(wù)化、工程化以及容器化、WPF PC端應(yīng)用技術(shù)開(kāi)發(fā)等領(lǐng)域的技術(shù)。
創(chuàng)作者:愛(ài)吃土豆絲的打工人,主要分享:移動(dòng)應(yīng)用Android開(kāi)發(fā)、鴻蒙(Harmony OS)移動(dòng)開(kāi)發(fā)、微信小程序、跨平臺(tái)移動(dòng)開(kāi)發(fā)Web JS和大疆無(wú)人機(jī)MSDK等領(lǐng)域的技術(shù)。
創(chuàng)作者:不脫發(fā)的程序猿,主要分享:嵌入式軟、硬件、數(shù)據(jù)分析、數(shù)據(jù)可視化、計(jì)算機(jī)視覺(jué)、創(chuàng)客開(kāi)發(fā)、智能硬件、物聯(lián)網(wǎng)感知和通信等領(lǐng)域的技術(shù)。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
傳感器相關(guān)文章:傳感器工作原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理