999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

車載嵌入式軟件A/B分區設計與開發

2025-03-07 00:00:00趙能卿李加強
汽車電器 2025年2期

【摘" 要】基于對支持嵌入式應用軟件重編程的控制器進行開發,實現A/B分區軟件功能。具體而言,當某應用軟件區出現錯誤或失效情況時,能夠立即啟動另一區軟件,從而確保ECU維持正常工作狀態。A/B分區能夠極大地滿足車載控制器本地升級軟件以及OTA升級軟件的穩健性要求。文章通過對嵌入式軟件A/B分區的硬件需求設計與軟件需求設計等方面進行研究,成功設計并實現某車型核心控制器的A/B分區功能,極大提升該控制器在軟件正常運行以及軟件刷寫時的魯棒性。

【關鍵詞】重編程;A/B分區;穩健性

中圖分類號:U463.6" " 文獻標識碼:A" " 文章編號:1003-8639(2025)02-0073-04

Automotive Embedded Software A/B Partition Design and Development

ZHAO Nengqing1,2,LI Jiaqiang1

(1. College of Mechanical Engineering and Transportation,Southwest Forestry University,Kunming 650051;

2. Jiangling Motor Co.,Ltd.,Nanchang 330200,China)

【Abstract】Based on the development of A controller that supports reprogramming of embedded application software,the function of A/B partition software is realized. Specifically,when an error or failure occurs in one area of the application software,the other area of the software can be started immediately,thus ensuring that the ECU remains in normal working condition. A/B partition can greatly meet the robustness requirements of local upgrade software and OTA upgrade software for vehicle controllers. Based on the research of hardware requirement design and software requirement design of embedded software A/B partition,this paper successfully designs and implements A/B partition function of a core controller of a certain vehicle model,which greatly improves the robustness of the controller during normal software operation and software writing.

【Key words】reprogramming;A/B partition;robustness

0" 引言

基于某車載核心控制器開發A/B分區功能,該控制器軟件支持本地和OTA升級。嵌入式軟件A區與B區的軟件具備獨立運行能力。若當前軟件運行于A區,外部合法源升級此ECU,ECU自動將升級軟件包存儲于B區;若當前軟件運行于B區,外部合法源升級此ECU,ECU自動將升級軟件包存儲于A區。軟件A/B分區能很好規避控制器軟件刷寫失敗后整車不能繼續正常工作的問題。

1" 硬件需求設計

A區和B區被設計為具有同等大小的存儲空間。依據ECU軟件架構,將A區和B區存儲空間的物理地址與軟件包刷寫時的邏輯地址進行合理映射,并且滿足ECU重新上電后軟件包不會丟失的要求。

支持A/B分區的ECU的下線EOL配置數據單獨存儲在芯片的某一特定存儲域中,在應用軟件更新期間,配置數據不會被修改,以避免因更新軟件包而導致需要重新寫入配置數據。控制器MCU的應用軟件Code Flash分布設計如圖1所示。

Flash中的BootLoader占用256kB空間,實際Bin文件不足256kB的部分將會使用0xFF進行填充。Application Inf區域用于存儲升級標志、軟件激活區標志以及應用軟件有效標志信息。應用軟件APP_A占用1392kB,應用軟件APP_B占用1392kB。

2" 軟件需求設計

對于具有A/B分區功能的ECU,在出廠時會為該控制器內部刷寫一版應用軟件,此應用軟件會優先存儲于A區。診斷儀或者診斷上位機可以通過靜態DID(數據標識符)0xA205讀取當前應用軟件運行于哪個區域,并且可支持通過例程服務0x31和例程DID 0xFF02進行A/B區域的強制切換。若目標切換區域軟件無效時,控制器將不支持切換,并回應失敗原因,失敗類型為新區域無有效程序[1]。

由于軟件數據傳輸過程中可能存在來自外部的非法篡改,為此設計了一套融合AES128和SHA256的算法對應用軟件數據包進行合法性校驗[2],檢驗值將寫入軟件包末尾,并由控制器的Boot層完成驗證。這種方法可以有效防止軟件包數據被篡改。在升級A/B分區的ECU時,ECU的Boot層將會對升級軟件的完整性及合法性進行校核。當數據不合要求或有非法數據被寫入時,Boot層會通過故障代號即時報錯,并終止軟件刷寫。當新的軟件包校核成功后,外部合法源下發復位命令,ECU重啟后應立即運行新升級的軟件。

對于具有A/B分區功能的控制器,在進行分區升級時,外部合法源寫入數據不區分當前寫入的是A區還是B區,ECU的Boot層將自動識別當前升級包應存儲于A區還是B區,即無論當前是A區還是B區,升級軟件包都是相同的。

具有A/B分區功能的ECU設計了外部看門狗及軟件運行有誤的容錯功能。當ECU運行某一區軟件發生連續3次看門狗溢出復位時,應置故障碼——軟件Watchdog異常復位。將Boot配置成自動切換分區功能開啟狀態,即當前即將運行分區無效或當前運行分區看門狗異常復位3次且此時另一區域軟件有效時,將立即啟動另一區軟件運行。

3" 安全需求設計

為確保控制器應用軟件升級的安全性,在ECU重編程方面設計了如下特性。

1)ECU會對預編程進行檢查,若當前車輛或發動機正在運行,則不支持預編程,此時控制器不允許進入編程會話模式10 02[3]。

2)必須通過安全訪問方可進行有效編程,并且對安全訪問失敗的情況進行嚴格控制,若連續失敗將啟動安全訪問延時處理。

4" 軟件啟動流程設計

A/B分區控制器上電后進入Boot層,將執行以下流程,如圖2所示。

1)底層讀取軟件激活區標志位數值。若激活區是A區,則執行A區啟動流程;若激活區是B區,則執行B區啟動流程。

2)若激活區為A區,底層需進一步判斷A區軟件是否有效。若A區軟件有效,則運行A區軟件并進入默認會話模式;若A區軟件無效,則繼續判斷B區軟件是否有效。若B區有效,則運行B區軟件并將軟件激活區置為B區激活;若A區無效且B區也無效,底層將保持在Boot層,并將軟件激活區置為無激活區以及將編程請求置位。若在此狀態下無動作,1.5h后Boot將進入深度睡眠。

3)若激活區為B區,底層需進一步判斷B區軟件是否有效。若B區軟件有效,則運行B區軟件并進入默認會話模式;若B區軟件無效,則繼續判斷A區軟件是否有效。若A區有效,則運行A區軟件并將軟件激活區置為A區激活;若B區無效且A區也無效,底層將保持在Boot層,并將軟件激活區置為無激活區以及將編程請求置位。若在此狀態下無動作,1.5h后Boot將進入深度睡眠。

5" 軟件升級流程設計

A/B分區控制器軟件升級執行以下設計流程,如圖3所示。

1)控制器上電,ECU完成初始化,此時可能進入默認會話模式;若APP無效,則處在Boot層[4]。

2)借助診斷上位機進入控制器擴展會話模式,禁止故障和通信,進而進入編程會話模式[5]。

3)控制器底層對軟件激活區進行判斷。若激活區為A,則刷新B區;若激活區為B區,則刷新A區;若激活區無,則優先刷新A區。以下流程將以A區作為激活區展開說明。

4)控制器進行安全訪問,通過后進入安全解鎖狀態。此時,可將Flash Driver下載至控制器RAM中,并完成循環冗余校驗(CRC)檢驗。

5)通過診斷上位機,將控制器本次更新軟件的事件作為指紋寫入控制器芯片。

6)將控制器應用軟件下載到控制器ROM中,并進行CRC校驗和依賴性檢測[6]。

7)軟件更新完成后,控制器底層將APP_B軟件有效位置設為1,并將軟件激活區設置為B區激活,以便下一次軟件上電初始化后能進入B區軟件運行。

8)MCU復位,清除Flash Driver。

9)通過診斷上位機命令,控制器進入擴展會話模式,開啟通信和診斷功能,控制器進入默認會話模式后,清除控制器所有故障碼。

6" 測試驗證

通過自動化腳本對A/B分區功能進行測試,如圖4所示。測試結果顯示,在控制器軟件失效后,能及時啟動另一區有效軟件,從而保障控制器正常運行[7]。

7" 結論

本文以實現控制器軟件在偶發失效或者軟件更新失敗后仍能繼續正常工作為目標,通過對某車載核心控制器軟件A/B分區進行設計與開發,提高了該控制器軟件在運行和更新時的魯棒性,更好地保障了該車載控制器和整車的產品品質,同時也為其他控制器的穩健性設計提供了良好的參考。

參考文獻

[1] 卓宇豪.基于UDS協議的電動裝載機整車控制器軟件刷寫機制及上位機系統研究[D].泉州:華僑大學,2023.

[2] 趙能卿,張小波,劉欽,等.車輛網絡安全技術設計開發[J].汽車實用技術,2024,49(1):46-50.

[3] 秦穎頎,陳雪峰.基于第二代車載診斷系統接口的汽車嵌入式診斷儀設計[J].汽車工程師,2023(8):42-48.

[4] 馬宏偉,吳長水.基于統一診斷協議的控制器在線升級系統設計[J].軟件工程,2020,23(8):5-8.

[5] 陸婉利,鐘日敏,黃祖朋.純電動汽車整車控制器遠程升級方法研究[J].內燃機與配件,2021(18):13-14.

[6] 詹克旭.基于UDS協議的汽車ECU升級方案[J].計算機應用與軟件,2019,36(1):191-196,203.

[7] 巫輝燕,林漢雄.基于HIL的車載網關控制器的自動化測試研究[J].汽車實用技術,2021,46(5):140-142.

(編輯" 凌" 波)

收稿日期:2024-05-10

作者簡介:趙能卿(1991-),男,工程師,研究方向為整車電子電氣系統架構設計與開發;

李加強(1977-),男,博士,副教授,研究方向為汽車能源與排放控制(通信作者)。

主站蜘蛛池模板: 伊人91视频| 久久综合丝袜长腿丝袜| 美女内射视频WWW网站午夜 | 97色婷婷成人综合在线观看| 一级毛片网| 综合人妻久久一区二区精品| 99re在线观看视频| 亚洲AⅤ无码日韩AV无码网站| 日韩在线视频网站| 毛片久久网站小视频| 伊人久久大香线蕉影院| 亚洲日韩日本中文在线| 亚洲国语自产一区第二页| 国产va免费精品| 日韩福利在线观看| 欧美成人国产| 99精品热视频这里只有精品7 | 成人欧美日韩| 欧美日韩国产综合视频在线观看| 亚洲成人www| 黄色一及毛片| 国产xx在线观看| 五月激情婷婷综合| 91在线一9|永久视频在线| 亚洲伊人天堂| 91在线一9|永久视频在线| 毛片网站在线播放| 精品国产美女福到在线直播| 在线精品欧美日韩| 国产乱子伦精品视频| 欧美国产成人在线| 久久国产毛片| 久久99蜜桃精品久久久久小说| 国产网友愉拍精品视频| 国产区在线看| a毛片免费观看| 国产亚洲欧美在线人成aaaa| 国产九九精品视频| 国产一区成人| 精品综合久久久久久97超人| 中文字幕伦视频| 国产亚洲精久久久久久无码AV| 中文字幕在线视频免费| 91九色国产porny| 亚洲精品欧美重口| 免费人成视网站在线不卡| 本亚洲精品网站| 中文字幕不卡免费高清视频| 无码电影在线观看| 亚洲一区网站| 国产视频一二三区| 免费中文字幕在在线不卡| 欧美精品不卡| 欧洲日本亚洲中文字幕| 亚洲欧美激情小说另类| 色综合激情网| 婷婷综合亚洲| 久久这里只有精品23| 99福利视频导航| 高潮毛片免费观看| 一级毛片免费高清视频| 欧美精品色视频| 国产自在自线午夜精品视频| 伊人久久大香线蕉综合影视| 日韩av电影一区二区三区四区| 国内精品视频在线| 日本精品视频| 日韩欧美色综合| 精品国产Av电影无码久久久| 日韩成人在线网站| 久久亚洲高清国产| 欧美性爱精品一区二区三区| 欧美区国产区| 三级欧美在线| 亚洲国产欧美中日韩成人综合视频| 亚洲无码精品在线播放| 亚洲视频a| 中文字幕欧美成人免费| 夜精品a一区二区三区| 亚洲精品老司机| 欧美日韩一区二区三区在线视频| 黄色a一级视频|