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小视频在线| 亚洲午夜福利精品无码不卡| 天天色综合4| 毛片免费高清免费| 国产人前露出系列视频| 在线免费看片a| 国产成人无码AV在线播放动漫 | 亚洲第一中文字幕| 88av在线播放| 国产精品亚洲综合久久小说| 国产成人乱无码视频| 国产网站在线看| 色婷婷电影网| 亚洲国产成人精品一二区| 欧美一级爱操视频| 91小视频在线观看| 久久99国产综合精品女同| 日韩av电影一区二区三区四区| 日韩国产精品无码一区二区三区| 成人第一页| 欧美成人午夜影院| 波多野结衣视频网站| 中文字幕亚洲第一| 国产欧美精品一区二区| 99性视频| 91久久精品国产| 亚洲天堂久久新| 自拍偷拍一区| 国产超碰在线观看| 久久这里只精品热免费99| 精品久久久久成人码免费动漫| 久久精品嫩草研究院| 国产精品一线天| 国产精品网址在线观看你懂的| 精品无码国产自产野外拍在线| 欧美97欧美综合色伦图| 热伊人99re久久精品最新地| 精品国产自在在线在线观看| 亚洲欧美成人综合| av一区二区无码在线| 日本妇乱子伦视频| 免费无遮挡AV| 蜜桃视频一区二区| 四虎永久在线精品国产免费| 91丨九色丨首页在线播放| 亚洲va在线观看| 国产精品永久免费嫩草研究院| a毛片免费观看| 日韩AV无码一区| 伊人丁香五月天久久综合 | 亚洲成人免费在线| 麻豆国产在线观看一区二区| 最新国产成人剧情在线播放| 成人一级黄色毛片| 国产成人综合日韩精品无码首页| 99热线精品大全在线观看| 一级毛片免费播放视频| 欧美激情,国产精品| 97视频在线观看免费视频| 黄色网址免费在线| 2020精品极品国产色在线观看| 国产杨幂丝袜av在线播放| 欧美精品不卡| 国产精品爽爽va在线无码观看| 亚洲色图综合在线| 久久 午夜福利 张柏芝| 精品1区2区3区| 国产免费好大好硬视频| 日本欧美在线观看| 欧美日韩午夜| 五月天综合网亚洲综合天堂网| 久久综合色88| 狠狠干欧美| 国产性猛交XXXX免费看| 青青操视频免费观看| 夜夜拍夜夜爽| 久久综合婷婷| 国产毛片片精品天天看视频| 久久精品波多野结衣| 九色视频一区| 国模极品一区二区三区| 欧美成人区|