隨著汽車電子技術(shù)的快速發(fā)展,汽車軟件的復(fù)雜性與日俱增,如何確保軟件開發(fā)的高效性與穩(wěn)定性成為了一個(gè)關(guān)鍵問題。為了解決這個(gè)問題,許多汽車企業(yè)和供應(yīng)商逐漸引入了AUTOSAR架構(gòu),并在此基礎(chǔ)上構(gòu)建了持續(xù)集成(CI)流程。今天,我們就來探討一下基于AUTOSAR架構(gòu)的CI流程實(shí)踐,并通過對(duì)流程的詳細(xì)講解,展示其在實(shí)際開發(fā)中的重要性和優(yōu)勢(shì)。
什么是AUTOSAR架構(gòu)?
首先,AUTOSAR(Automotive Open System Architecture)是一個(gè)開放的、標(biāo)準(zhǔn)化的汽車電子軟件架構(gòu)。它旨在通過提供一個(gè)標(biāo)準(zhǔn)的接口和抽象層,減少復(fù)雜的汽車軟件開發(fā)流程,并提升軟件的可復(fù)用性、模塊化和可維護(hù)性。AUTOSAR架構(gòu)中的核心模塊可以分為應(yīng)用軟件層(ASW)、基礎(chǔ)軟件層(BSW)和運(yùn)行時(shí)環(huán)境(RTE)、微控制器四個(gè)層面,它們各自承擔(dān)不同的功能。
為什么要在AUTOSAR架構(gòu)中引入CI?
隨著汽車軟件規(guī)模的日益龐大,軟件開發(fā)的復(fù)雜度也不斷增加,傳統(tǒng)的開發(fā)方式往往難以應(yīng)對(duì)復(fù)雜系統(tǒng)的集成挑戰(zhàn)。尤其是在高度模塊化的AUTOSAR架構(gòu)下,軟件的各個(gè)層次和模塊相互依賴,任何代碼變更都有可能影響整體系統(tǒng)的穩(wěn)定性。為此,開發(fā)團(tuán)隊(duì)需要一種高效的機(jī)制來快速檢測(cè)問題,確保每次代碼修改后的系統(tǒng)都能正常工作。這時(shí),持續(xù)集成(CI)流程的重要性便凸顯出來,它能夠自動(dòng)化地進(jìn)行代碼集成、測(cè)試和反饋,確保軟件的質(zhì)量與穩(wěn)定性。接下來,我們將介紹在AUTOSAR框架中CI實(shí)現(xiàn)的詳細(xì)流程。
CI流程簡(jiǎn)介
持續(xù)集成(CI)是一種軟件開發(fā)實(shí)踐,它強(qiáng)調(diào)開發(fā)者頻繁將代碼集成到共享的代碼庫中,并通過自動(dòng)化測(cè)試和構(gòu)建系統(tǒng),確保每次集成都能夠得到及時(shí)的反饋。那么在本次介紹中的CI在基于AUTOSAR架構(gòu)的軟件開發(fā)中,CI流程不僅僅是一個(gè)簡(jiǎn)單的自動(dòng)化工具鏈,而是保證軟件穩(wěn)定性和一致性的關(guān)鍵所在。
雖然硬件在環(huán)(HIL)測(cè)試在開發(fā)流程中也扮演著重要角色,但它屬于硬件驗(yàn)證的范疇,并不包含在CI流程之內(nèi)。因此,本文中的CI流程將專注于軟件層面的集成和測(cè)試,不涉及HIL測(cè)試部分。
在本次介紹的CI流程實(shí)踐中,AUTOSAR框架的測(cè)試主要集中在三個(gè)部分:
ASW(應(yīng)用層)
這一層主要基于MATLAB模型進(jìn)行開發(fā),因此在測(cè)試過程中,重點(diǎn)是對(duì)模型的驗(yàn)證。在模塊開發(fā)的早期階段,測(cè)試的重點(diǎn)是確保模型本身的正確性和穩(wěn)定性。當(dāng)模型測(cè)試通過后,該模型模塊會(huì)被集成到整個(gè)開發(fā)工程中進(jìn)行編譯,以此驗(yàn)證其與最新代碼層是否兼容,并確保功能正常。這一過程可以保證每個(gè)模塊在合入到整體系統(tǒng)前已經(jīng)過充分驗(yàn)證。
BSW(基礎(chǔ)軟件層)
這里的BSW層指的是通過框架生成軟件自動(dòng)生成出的代碼,通過AUTOSAR架構(gòu)生成的代碼來實(shí)現(xiàn)軟件功能的更新和維護(hù)。每當(dāng)BSW層的代碼更新時(shí),CI流程會(huì)自動(dòng)觸發(fā)項(xiàng)目的整體編譯,從而驗(yàn)證所有基礎(chǔ)功能在最新更新下的一致性和穩(wěn)定性。這一機(jī)制確保了基礎(chǔ)軟件層的變更不會(huì)破壞系統(tǒng)的整體功能。
CDD(復(fù)雜設(shè)備驅(qū)動(dòng)層)
該層主要負(fù)責(zé)復(fù)雜設(shè)備的驅(qū)動(dòng)程序開發(fā)。CDD層通常涉及手寫代碼,用來滿足客戶的特定需求。每當(dāng)CDD層的代碼更新后,CI系統(tǒng)會(huì)自動(dòng)執(zhí)行代碼分析和驗(yàn)證,確保新編寫的驅(qū)動(dòng)程序與系統(tǒng)的其他部分協(xié)調(diào)工作,并符合功能要求。通過這三大模塊的分層測(cè)試和自動(dòng)化驗(yàn)證,CI流程確保了AUTOSAR架構(gòu)下的軟件在開發(fā)和更新過程中始終保持高效和穩(wěn)定。
下圖展示了一個(gè)典型的基于AUTOSAR架構(gòu)的CI流程,通過Jenkins調(diào)度服務(wù)器和Gitlab版本管理工具實(shí)現(xiàn)模塊的自動(dòng)化集成和測(cè)試。
基于AUTOSAR架構(gòu)的CI流程實(shí)踐
從流程圖中可以看出,整個(gè)CI流程主要圍繞ASW模塊變更、BSW模塊變更和CDD模塊變更展開,并且根據(jù)不同模塊的變更類型,分別定義了相應(yīng)的測(cè)試和編譯步驟。接下來,我們逐一對(duì)各個(gè)模塊的CI流程進(jìn)行講解。
1. ASW模塊變更流程
ASW(應(yīng)用軟件)模塊的變更通常是由模型開發(fā)人員和模型測(cè)試人員手動(dòng)觸發(fā)的。當(dāng)ASW模塊發(fā)生變更時(shí),CI流程將執(zhí)行一系列的靜態(tài)和動(dòng)態(tài)模型測(cè)試、代碼生成以及編譯,確保變更后的代碼不會(huì)引入新的問題。
靜態(tài)模型測(cè)試:使用靜態(tài)模型測(cè)試工具(MXAM)導(dǎo)入模型并進(jìn)行測(cè)試,確保模型的完整性和正確性。
動(dòng)態(tài)模型測(cè)試:通過動(dòng)態(tài)模型測(cè)試工具(TPT)執(zhí)行測(cè)試用例,并生成測(cè)試報(bào)告上傳到版本管理系統(tǒng),最后通過郵件通知到對(duì)應(yīng)的模型更改人員。
代碼生成:通過MATLAB進(jìn)行模型生成代碼,將其上傳至版本管理系統(tǒng)。
編譯:完成模型生成代碼后,該模型模塊代碼會(huì)被集成到整個(gè)開發(fā)工程中進(jìn)行編譯,以此驗(yàn)證其與最新代碼層是否兼容,并確保功能正常。
在ASW模塊的CI流程中,Jenkins服務(wù)器會(huì)根據(jù)預(yù)定的觸發(fā)條件,如代碼提交或配置文件的變化,自動(dòng)執(zhí)行上述步驟,并將結(jié)果通知給相關(guān)開發(fā)人員。
2. BSW模塊變更流程
BSW(基礎(chǔ)軟件)模塊的觸發(fā)后的執(zhí)行流程相對(duì)簡(jiǎn)單,通常包括整體工程的編譯以及編譯后的結(jié)果自動(dòng)上傳,其主要目的是確保基礎(chǔ)軟件的功能和性能在各個(gè)開發(fā)階段的一致性。
代碼上傳:從拉取最新的代碼,開發(fā)人員根據(jù)變更需求對(duì)代碼進(jìn)行調(diào)整并重新上傳。
BSW模塊編譯:從版本管理系統(tǒng)中拉取開發(fā)上傳好的代碼,然后進(jìn)行編譯,最后將編譯結(jié)果傳遞到版本管理系統(tǒng)中,并通知到對(duì)應(yīng)的開發(fā)人員。
3. CDD模塊變更流程
CDD(手寫代碼)模塊的變更與測(cè)試也在整個(gè)CI流程中占據(jù)重要位置。其主要作用是通過靜態(tài)代碼測(cè)試和動(dòng)態(tài)代碼測(cè)試來驗(yàn)證組件的正確性以及組件的合規(guī)情況。
靜態(tài)代碼測(cè)試:通過Helix QAC工具對(duì)導(dǎo)入的代碼進(jìn)行靜態(tài)分析,檢查代碼的命名規(guī)則和編碼規(guī)范是否符合標(biāo)準(zhǔn)要求。
動(dòng)態(tài)代碼測(cè)試:使用VectorCAST工具對(duì)組件進(jìn)行動(dòng)態(tài)測(cè)試,并生成測(cè)試報(bào)告上傳到版本管理系統(tǒng)供開發(fā)人員查看。
編譯:完成模型生成代碼后,該模型模塊代碼會(huì)被集成到整個(gè)開發(fā)工程中進(jìn)行編譯,以此驗(yàn)證其與最新代碼層是否兼容,并確保功能正常。
在CDD模塊的CI流程中,Jenkins服務(wù)器會(huì)根據(jù)預(yù)定的觸發(fā)條件,如代碼提交或配置文件的變化,自動(dòng)執(zhí)行上述步驟,并將結(jié)果通知給相關(guān)開發(fā)人員。
基于AUTOSAR的CI流程優(yōu)勢(shì)
通過上述流程的詳細(xì)解讀,我們可以看出基于AUTOSAR架構(gòu)的CI流程具有以下幾個(gè)顯著的優(yōu)勢(shì):
自動(dòng)化測(cè)試與集成:通過Jenkins服務(wù)器自動(dòng)執(zhí)行代碼的集成、測(cè)試和發(fā)布流程,減少了開發(fā)人員和測(cè)試人員的手動(dòng)操作,提高了開發(fā)效率。
代碼質(zhì)量保證:靜態(tài)代碼分析和動(dòng)態(tài)測(cè)試用例的自動(dòng)化執(zhí)行,確保了代碼的規(guī)范性和正確性,極大地降低了潛在的代碼缺陷風(fēng)險(xiǎn)。
及時(shí)反饋機(jī)制:CI流程中的每個(gè)步驟都伴隨著詳細(xì)的報(bào)告生成與郵件通知,使得開發(fā)人員能夠及時(shí)獲取變更結(jié)果,快速進(jìn)行問題定位和修復(fù)。
固定的文件結(jié)構(gòu):由于AUTOSAR架構(gòu)中的文件結(jié)構(gòu)是固定和標(biāo)準(zhǔn)化的,CI鏈路能夠很好地利用這一特點(diǎn),實(shí)現(xiàn)高效的集成和自動(dòng)化測(cè)試。這種標(biāo)準(zhǔn)化結(jié)構(gòu)使得代碼的組織和管理更加一致,有助于CI流程的自動(dòng)化處理,進(jìn)一步提升了集成效率并減少了出錯(cuò)的可能性。
實(shí)踐中的挑戰(zhàn)與建議
雖然基于AUTOSAR架構(gòu)的CI流程在實(shí)際應(yīng)用中展示了極大的優(yōu)越性,但在實(shí)施過程中也可能會(huì)遇到一些挑戰(zhàn):
工具鏈集成復(fù)雜:由于AUTOSAR涉及多個(gè)不同的工具,如MXAM、HeliX QAC、TPT、VectorCAST等,工具鏈的集成和維護(hù)需要耗費(fèi)較多精力。建議企業(yè)在實(shí)施過程中設(shè)立專門的CI工具鏈維護(hù)團(tuán)隊(duì)或讓供應(yīng)商進(jìn)行鏈路搭建,后續(xù)可以通過內(nèi)部人員進(jìn)行維護(hù),確保工具鏈的高效運(yùn)轉(zhuǎn)。
團(tuán)隊(duì)協(xié)作要求高:CI流程的順利實(shí)施需要開發(fā)、測(cè)試、運(yùn)維等多方團(tuán)隊(duì)的緊密協(xié)作,因此在實(shí)踐中應(yīng)加強(qiáng)團(tuán)隊(duì)之間的溝通與協(xié)同,定期進(jìn)行流程優(yōu)化與改進(jìn)。
結(jié)語
基于AUTOSAR架構(gòu)的CI流程是汽車軟件開發(fā)中不可或缺的一環(huán)。它通過自動(dòng)化的集成與測(cè)試,保證了軟件的高質(zhì)量和穩(wěn)定性。在未來,隨著汽車智能化和自動(dòng)駕駛技術(shù)的發(fā)展,CI流程的重要性將愈發(fā)凸顯。因此,持續(xù)優(yōu)化和完善CI流程,是每個(gè)從事汽車軟件開發(fā)的企業(yè)都需要高度重視的問題。
上一篇:無線充電技術(shù):電動(dòng)汽車未來的里程焦慮解藥
下一篇:動(dòng)力電池阻抗特性的仿真方法和應(yīng)用舉例
推薦閱讀最新更新時(shí)間:2025-07-02 15:59
- 汽車電子中的電容感應(yīng)多點(diǎn)觸摸的應(yīng)用分析
- 汽車電子中定位系統(tǒng)的工作原理簡(jiǎn)析
- 插電式混動(dòng)汽車會(huì)不會(huì)出現(xiàn)饋電的狀態(tài)
- 不要讓USB電壓下降減慢充電器的速度
- 牛人教你自制虛擬現(xiàn)實(shí)眼鏡
- 選擇安全組件用于數(shù)據(jù)保護(hù)的能量收集系統(tǒng)
- 阻抗匹配技術(shù)和孔徑調(diào)諧技術(shù)的對(duì)比
- 節(jié)日彩燈不亮了?DIY壞燈泡發(fā)現(xiàn)器幫你來修復(fù)!
- 如何打造體積小、續(xù)航性能強(qiáng)勁的可穿戴產(chǎn)品
- LTC2194IUKG、16 位、105Msps 低功耗雙通道 ADC 的典型應(yīng)用
- LT3088HST 并聯(lián)穩(wěn)壓器的典型應(yīng)用
- 具有外部控制信號(hào)、AVIN 或 AGND 的 EP53A7LQI 1A 同步降壓穩(wěn)壓器的典型應(yīng)用電路
- LTC4367HDD-1 用于限制浪涌電流的過壓電源保護(hù)控制器的典型應(yīng)用
- 基于ST1S03的1.5 A / 3.3 V降壓DC-DC轉(zhuǎn)換器演示板
- 具有基于STAP08DP05和STM8AF的汽車應(yīng)用診斷的高亮度LED陣列驅(qū)動(dòng)器
- L7808C 高輸入輸出穩(wěn)壓器的典型應(yīng)用
- LT6657BHMS8-2.5 低壓差基準(zhǔn)電壓源的典型應(yīng)用電路
- 使用 Analog Devices 的 LTC3423EMS 的參考設(shè)計(jì)
- AD9261-10EBZ,AD9261 評(píng)估板,16 位連續(xù)時(shí)間 Sigma-Delta ADC
- 比亞迪宣布實(shí)現(xiàn)媲美L4級(jí)智能泊車,承諾為安全兜底
- GW2208:同星智能以太網(wǎng)/CANFD/LIN網(wǎng)關(guān)設(shè)備來襲
- 在中國市場(chǎng),恩智浦繼續(xù)“上強(qiáng)度”
- 越疆機(jī)器人正式發(fā)布六足仿生機(jī)器狗
- BMW新世代融合獨(dú)創(chuàng)駕控超級(jí)大腦 重塑智能極致駕趣標(biāo)桿
- 2025年1-5月智能座艙供應(yīng)商裝機(jī)量排行榜:本土勢(shì)力多領(lǐng)域突圍,德賽西威持續(xù)霸榜
- 座艙車載聲學(xué)裝機(jī)量分析:多數(shù)量揚(yáng)聲器逐漸向下普及
- Lumissil Microsystems推出高側(cè)線性LED驅(qū)動(dòng)器系列 擴(kuò)展汽車照明產(chǎn)品組合
- Elaphe推出用于高性能電動(dòng)汽車的Sonic X輪轂電機(jī)平臺(tái)
- Aigtek高壓放大器在軟體機(jī)器人研究中的應(yīng)用
- 2018中國工業(yè)機(jī)器人預(yù)測(cè),未來三年預(yù)期銷售增速將超過20%
- 對(duì)比全球工業(yè)機(jī)器人,看我國還存在哪些差異
- 智能電銷預(yù)見未來 我的電銷新同事是“機(jī)器人”
- 智能電銷機(jī)器人究竟是利大于弊還是弊大于利
- 我國的工業(yè)機(jī)器人核心技術(shù)逐漸突破,未來發(fā)展有望實(shí)現(xiàn)更大進(jìn)展
- 美日鼓勵(lì)企業(yè)撤離中國真的嗎?
- 華為nova7系列本月23日發(fā)布
- Alfen已經(jīng)生產(chǎn)了超過10萬個(gè)電動(dòng)汽車充電點(diǎn)
- 3月份江蘇全社會(huì)用電量480.95億千瓦時(shí) 同比下降6.30%
- 從新電改五周年看基本計(jì)劃制度的滄海桑田
- EEWORLD大學(xué)堂----你知道最好的觸摸屏控制器嗎---獨(dú)領(lǐng)風(fēng)騷的Gen5
- 星載合成孔徑雷達(dá)成像處理
- 請(qǐng)問一下cc2530在工作時(shí)io口或者pwm波的最高頻率
- EEWORLD大學(xué)堂----物聯(lián)網(wǎng)與創(chuàng)客
- 深入了解MHL功能及使用測(cè)試
- 出兩塊ATMEL 原廠的ARM評(píng)估板
- 又一個(gè)TWS耳機(jī)充電盒拆機(jī)
- 這些資源助你學(xué)習(xí)Linux,趕緊下載or收藏!
- stm32與wifi硬件連接
- ST官方中文論壇上線啦~走,一起逛逛、踩踩點(diǎn)