那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AUTOSAR架構下,持續集成CI的最佳實踐

北匯信息POLELINK ? 2024-10-24 08:06 ? 次閱讀

作者 | 明
小編 | 不吃豬頭肉

隨著汽車電子技術的快速發展,汽車軟件的復雜性與日俱增,如何確保軟件開發的高效性與穩定性成為了一個關鍵問題。為了解決這個問題,許多汽車企業和供應商逐漸引入了AUTOSAR架構,并在此基礎上構建了持續集成(CI)流程。今天,我們就來探討一下基于AUTOSAR架構的CI流程實踐,并通過對流程的詳細講解,展示其在實際開發中的重要性和優勢

d80e8f8e-919b-11ef-b5cd-92fbcf53809c.png

什么是AUTOSAR架構?
首先,AUTOSAR(Automotive Open System Architecture)是一個開放的、標準化的汽車電子軟件架構。它旨在通過提供一個標準的接口和抽象層,減少復雜的汽車軟件開發流程,并提升軟件的可復用性、模塊化和可維護性。AUTOSAR架構中的核心模塊可以分為應用軟件層(ASW)、基礎軟件層(BSW)和運行時環境(RTE)、微控制器四個層面,它們各自承擔不同的功能。

d81f4612-919b-11ef-b5cd-92fbcf53809c.png


d83f26da-919b-11ef-b5cd-92fbcf53809c.png

為什么要在AUTOSAR架構中引入CI?
隨著汽車軟件規模的日益龐大,軟件開發的復雜度也不斷增加,傳統的開發方式往往難以應對復雜系統的集成挑戰。尤其是在高度模塊化的AUTOSAR架構下,軟件的各個層次和模塊相互依賴,任何代碼變更都有可能影響整體系統的穩定性。為此,開發團隊需要一種高效的機制來快速檢測問題,確保每次代碼修改后的系統都能正常工作。這時,持續集成(CI)流程的重要性便凸顯出來,它能夠自動化地進行代碼集成、測試和反饋,確保軟件的質量與穩定性。接下來,我們將介紹在AUTOSAR框架中CI實現的詳細流程。

d8552aca-919b-11ef-b5cd-92fbcf53809c.png

CI流程簡介

d8837128-919b-11ef-b5cd-92fbcf53809c.png


持續集成(CI)是一種軟件開發實踐,它強調開發者頻繁將代碼集成到共享的代碼庫中,并通過自動化測試和構建系統,確保每次集成都能夠得到及時的反饋。那么在本次介紹中的CI在基于AUTOSAR架構的軟件開發中,CI流程不僅僅是一個簡單的自動化工具鏈,而是保證軟件穩定性和一致性的關鍵所在。
雖然硬件在環(HIL)測試在開發流程中也扮演著重要角色,但它屬于硬件驗證的范疇,并不包含在CI流程之內。因此,本文中的CI流程將專注于軟件層面的集成和測試,不涉及HIL測試部分。
在本次介紹的CI流程實踐中,AUTOSAR框架的測試主要集中在三個部分:

ASW(應用層)

這一層主要基于MATLAB模型進行開發,因此在測試過程中,重點是對模型的驗證。在模塊開發的早期階段,測試的重點是確保模型本身的正確性和穩定性。當模型測試通過后,該模型模塊會被集成到整個開發工程中進行編譯,以此驗證其與最新代碼層是否兼容,并確保功能正常。這一過程可以保證每個模塊在合入到整體系統前已經過充分驗證。

BSW(基礎軟件層)

這里的BSW層指的是通過框架生成軟件自動生成出的代碼,通過AUTOSAR架構生成的代碼來實現軟件功能的更新和維護。每當BSW層的代碼更新時,CI流程會自動觸發項目的整體編譯,從而驗證所有基礎功能在最新更新下的一致性和穩定性。這一機制確保了基礎軟件層的變更不會破壞系統的整體功能。

CDD(復雜設備驅動層)

該層主要負責復雜設備的驅動程序開發。CDD層通常涉及手寫代碼,用來滿足客戶的特定需求。每當CDD層的代碼更新后,CI系統會自動執行代碼分析和驗證,確保新編寫的驅動程序與系統的其他部分協調工作,并符合功能要求。通過這三大模塊的分層測試和自動化驗證,CI流程確保了AUTOSAR架構下的軟件在開發和更新過程中始終保持高效和穩定。
下圖展示了一個典型的基于AUTOSAR架構的CI流程,通過Jenkins調度服務器和Gitlab版本管理工具實現模塊的自動化集成和測試。

d8a6fbf2-919b-11ef-b5cd-92fbcf53809c.pngd8c973bc-919b-11ef-b5cd-92fbcf53809c.png

基于AUTOSAR架構的CI流程實踐
從流程圖中可以看出,整個CI流程主要圍繞ASW模塊變更、BSW模塊變更和CDD模塊變更展開,并且根據不同模塊的變更類型,分別定義了相應的測試和編譯步驟。接下來,我們逐一對各個模塊的CI流程進行講解
1. ASW模塊變更流程
ASW(應用軟件)模塊的變更通常是由模型開發人員和模型測試人員手動觸發的。當ASW模塊發生變更時,CI流程將執行一系列的靜態和動態模型測試、代碼生成以及編譯,確保變更后的代碼不會引入新的問題。

靜態模型測試:使用靜態模型測試工具(MXAM)導入模型并進行測試,確保模型的完整性和正確性。

動態模型測試:通過動態模型測試工具(TPT)執行測試用例,并生成測試報告上傳到版本管理系統,最后通過郵件通知到對應的模型更改人員。

代碼生成:通過MATLAB進行模型生成代碼,將其上傳至版本管理系統。

編譯:完成模型生成代碼后,該模型模塊代碼會被集成到整個開發工程中進行編譯,以此驗證其與最新代碼層是否兼容,并確保功能正常。

在ASW模塊的CI流程中,Jenkins服務器會根據預定的觸發條件,如代碼提交或配置文件的變化,自動執行上述步驟,并將結果通知給相關開發人員。
2. BSW模塊變更流程
BSW(基礎軟件)模塊的觸發后的執行流程相對簡單,通常包括整體工程的編譯以及編譯后的結果自動上傳,其主要目的是確保基礎軟件的功能和性能在各個開發階段的一致性。

代碼上傳:從拉取最新的代碼,開發人員根據變更需求對代碼進行調整并重新上傳。

BSW模塊編譯:從版本管理系統中拉取開發上傳好的代碼,然后進行編譯,最后將編譯結果傳遞到版本管理系統中,并通知到對應的開發人員。

3. CDD模塊變更流程
CDD(手寫代碼)模塊的變更與測試也在整個CI流程中占據重要位置。其主要作用是通過靜態代碼測試和動態代碼測試來驗證組件的正確性以及組件的合規情況。

靜態代碼測試:通過Helix QAC工具對導入的代碼進行靜態分析,檢查代碼的命名規則和編碼規范是否符合標準要求。

動態代碼測試:使用VectorCAST工具對組件進行動態測試,并生成測試報告上傳到版本管理系統供開發人員查看。

編譯:完成模型生成代碼后,該模型模塊代碼會被集成到整個開發工程中進行編譯,以此驗證其與最新代碼層是否兼容,并確保功能正常。

在CDD模塊的CI流程中,Jenkins服務器會根據預定的觸發條件,如代碼提交或配置文件的變化,自動執行上述步驟,并將結果通知給相關開發人員。

d8dba532-919b-11ef-b5cd-92fbcf53809c.png

基于AUTOSAR的CI流程優勢
通過上述流程的詳細解讀,我們可以看出基于AUTOSAR架構的CI流程具有以下幾個顯著的優勢:

自動化測試與集成:通過Jenkins服務器自動執行代碼的集成、測試和發布流程,減少了開發人員和測試人員的手動操作,提高了開發效率。

代碼質量保證:靜態代碼分析和動態測試用例的自動化執行,確保了代碼的規范性和正確性,極大地降低了潛在的代碼缺陷風險。

及時反饋機制:CI流程中的每個步驟都伴隨著詳細的報告生成與郵件通知,使得開發人員能夠及時獲取變更結果,快速進行問題定位和修復。

固定的文件結構:由于AUTOSAR架構中的文件結構是固定和標準化的,CI鏈路能夠很好地利用這一特點,實現高效的集成和自動化測試。這種標準化結構使得代碼的組織和管理更加一致,有助于CI流程的自動化處理,進一步提升了集成效率并減少了出錯的可能性。

d8ece838-919b-11ef-b5cd-92fbcf53809c.png

實踐中的挑戰與建議
雖然基于AUTOSAR架構的CI流程在實際應用中展示了極大的優越性,但在實施過程中也可能會遇到一些挑戰:

工具鏈集成復雜:由于AUTOSAR涉及多個不同的工具,如MXAM、HeliX QAC、TPT、VectorCAST等,工具鏈的集成和維護需要耗費較多精力。建議企業在實施過程中設立專門的CI工具鏈維護團隊或讓供應商進行鏈路搭建,后續可以通過內部人員進行維護,確保工具鏈的高效運轉。

團隊協作要求高:CI流程的順利實施需要開發、測試、運維等多方團隊的緊密協作,因此在實踐中應加強團隊之間的溝通與協同,定期進行流程優化與改進。

d9014288-919b-11ef-b5cd-92fbcf53809c.png

結語
基于AUTOSAR架構的CI流程是汽車軟件開發中不可或缺的一環。它通過自動化的集成與測試,保證了軟件的高質量和穩定性。在未來,隨著汽車智能化和自動駕駛技術的發展,CI流程的重要性將愈發凸顯。因此,持續優化和完善CI流程,是每個從事汽車軟件開發的企業都需要高度重視的問題。
通過這次流程的實踐介紹,相信大家對基于AUTOSAR的CI流程有了更加清晰的認識。希望本文能夠為正在或即將實施CI流程的企業和團隊提供有益的參考與啟發。北匯信息已為國內汽車客戶提供相應的服務內容,歡迎垂詢!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 汽車電子
    +關注

    關注

    3029

    文章

    8023

    瀏覽量

    167800
  • 軟件
    +關注

    關注

    69

    文章

    5009

    瀏覽量

    88063
  • AUTOSAR
    +關注

    關注

    10

    文章

    363

    瀏覽量

    21778
收藏 人收藏

    評論

    相關推薦

    持續改進工具之戰:Smartsheet vs. Minitab Engage

    Smartsheet和Engage: 持續集成路線圖:Smartsheet缺乏成功執行項目所需的預構建持續集成工作流。Engage在每
    的頭像 發表于 01-24 14:40 ?85次閱讀

    基于SOA自動駕駛整車及運營系統架構

    Architecture,SOA)設計思想和理念,設計、打造可持續集成、靈活配置和持續升級的自動駕駛整車乃至整個運營系統,可為客戶提供面向封閉區域運營的完整自動化解決方案。
    的頭像 發表于 01-06 17:00 ?512次閱讀
    基于SOA自動駕駛整車及運營系統<b class='flag-5'>架構</b>

    基于SOA自動駕駛整車及運營系統架構

    ,設計、打造可持續集成、靈活配置和持續升級的自動駕駛整車乃至整個運營系統,可為客戶提供面向封閉區域運營的完整自動化解決方案。,車輛電子電氣架構開發模式遇到了巨大的挑戰。
    的頭像 發表于 01-06 16:06 ?27次閱讀
    基于SOA自動駕駛整車及運營系統<b class='flag-5'>架構</b>

    云服務器Flexus X實例,Docker集成搭建Jenkins CI/CD平臺

    Jenkins 是一個開源的自動化服務器,用于持續集成CI)和持續交付(CD)軟件項目。它允許開發人員在軟件開發過程中自動化各種任務,如構建、測試和部署,從而提高開發效率和軟件質量。
    的頭像 發表于 12-29 15:43 ?163次閱讀
    云服務器Flexus X實例,Docker<b class='flag-5'>集成</b>搭建Jenkins <b class='flag-5'>CI</b>/CD平臺

    CI/CD方案:推動智能汽車開發的高效利器

    持續集成持續交付/部署)方案為汽車行業帶來了巨大的變革契機。本文將聚焦CI/CD方案在智能汽車領域的核心價值,并探討如何通過標準化的CI/CD流程幫助企業從容應對
    的頭像 發表于 12-18 10:03 ?541次閱讀
    <b class='flag-5'>CI</b>/CD方案:推動智能汽車開發的高效利器

    AUTOSAR中通信堆棧的配置 AUTOSAR通信模塊測試方法

    AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構合作伙伴計劃,旨在創建并建立一個開放的標準化軟件架構,以簡化汽車電子控制單元(ECU
    的頭像 發表于 12-17 15:01 ?373次閱讀

    AUTOSAR通信框架的優勢 AUTOSAR通信實例與應用場景

    AUTOSAR通信框架的優勢 AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構合作伙伴計劃,旨在創建并建立一個開放的標準化軟件
    的頭像 發表于 12-17 14:58 ?431次閱讀

    AUTOSAR通信組件介紹 AUTOSAR通信層功能分析

    AUTOSAR通信組件介紹 AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構合作伙伴計劃,旨在創建和建立一個開放的標準化軟件
    的頭像 發表于 12-17 14:55 ?545次閱讀

    AUTOSAR通信協議解析 如何實現AUTOSAR通信

    AUTOSAR(Automotive Open System Architecture)即汽車開放系統架構,該架構支持汽車電子控制單元(ECU)之間的通信,實現了高度模塊化和可重用性。AUTO
    的頭像 發表于 12-17 14:54 ?998次閱讀

    立訊精密入選2024可持續發展最佳實踐案例

    近日,由中國上市公司協會(以下簡稱中上協)主辦的2024上市公司可持續發展大會在京召開。會上,中上協發布了2024上市公司可持續發展最佳及優秀實踐案例。立訊精密憑借“立志高遠 訊航可
    的頭像 發表于 11-28 13:50 ?321次閱讀

    艾體寶產品 CircleCI:高效的CI/CD平臺,助力開發團隊加速交付!

    集成,提升團隊協作與代碼質量。本文詳細介紹了CircleCI的主要功能和實際應用場景,幫助團隊更高效地實現持續集成與交付。
    的頭像 發表于 11-20 10:22 ?273次閱讀
    艾體寶產品 CircleCI:高效的<b class='flag-5'>CI</b>/CD平臺,助力開發團隊加速交付!

    邊緣計算架構設計最佳實踐

    邊緣計算架構設計最佳實踐涉及多個方面,以下是一些關鍵要素和最佳實踐建議: 一、核心組件與架構設計
    的頭像 發表于 10-24 14:17 ?539次閱讀

    在TI SoC上集成AUTOSAR:基礎知識

    電子發燒友網站提供《在TI SoC上集成AUTOSAR:基礎知識.pdf》資料免費下載
    發表于 10-11 11:50 ?0次下載
    在TI SoC上<b class='flag-5'>集成</b><b class='flag-5'>AUTOSAR</b>:基礎知識

    Perforce靜態分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改進和安全增強

    實現持續合規性現代軟件開發實踐要求開發團隊具備適應性,在確保代碼質量和可靠性的同時,優先考慮靈活性和協作性。在軟件開發流程中實施持續集成CI)和
    的頭像 發表于 10-08 16:22 ?340次閱讀
    Perforce靜態分析工具2024.2新增功能:Helix QAC全新<b class='flag-5'>CI</b>/CD<b class='flag-5'>集成</b>支持、Klocwork分析引擎改進和安全增強

    Vector AUTOSAR中的TISCI服務器集成

    電子發燒友網站提供《Vector AUTOSAR中的TISCI服務器集成.pdf》資料免費下載
    發表于 08-30 11:16 ?0次下載
    Vector <b class='flag-5'>AUTOSAR</b>中的TISCI服務器<b class='flag-5'>集成</b>
    大发888娱乐城范本| 精英百家乐现金网| 百家乐官网合法| 大发888娱乐真钱游戏 官方| 大发888xp缺少 casino| 鑫鼎百家乐的玩法技巧和规则| 粤港澳百家乐娱乐场| 百家乐2号技术打法| 百家乐官网投注方法多不多 | tt娱乐城网址| 百加乐牌| 百家乐官网输了好多钱| 广灵县| 太子娱乐城网址| 娱乐城在线| 财神娱乐城怎么样| 太谷县| 网上百家乐官网好玩吗| 百家乐官网玩法秘决| 百家乐官网公试打法| 百家乐官网真人大头贴| A8百家乐官网娱乐| 百家乐官网双龙| 新葡京百家乐官网的玩法技巧和规则 | 百家乐官网网页游戏网址| 百家乐官网送现金200| 乐天堂百家乐官网娱乐| 博E百百家乐官网的玩法技巧和规则 | 赌博游戏网站| 百家乐官网视频世界| 百家乐官网博弈指数| 百家乐现金网平台排行榜| 百家乐换房| 大发888 代充| 大发888怎么样| 百家乐官网永利娱乐城| 百家乐官网是个什么样的游戏 | 广发百家乐的玩法技巧和规则| 最新娱乐城送彩金| 百家乐官网专家赢钱打法| 赌百家乐官网2号破解|