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

基于實時操作系統(tǒng)的車載ECU 雙分區(qū)軟件空中下載升級技術

2023-12-08 04:18:06梁貴友張建平周時瑩
汽車工程學報 2023年6期
關鍵詞:程序

周 恒, 梁貴友, 柳 旭, 張建平, 周時瑩, 王 騰, 馬 骉

(中國第一汽車集團有限公司 智能網聯(lián)開發(fā)院,長春 130013)

隨著汽車智能化、網聯(lián)化的發(fā)展,OTA功能已成為智能網聯(lián)汽車發(fā)展的必然趨勢[1-3]。常見OTA升級架構是云服務器端通過TBOX 將升級包下載至車端緩存,由升級主控節(jié)點對網絡架構中控制器按照刷寫流程進行升級更新[4-5]。陳祖銳等[6]采用將升級程序直接刷寫在應用程序分區(qū)的升級技術,其局限性在于當應用程序升級失敗后,原分區(qū)里的程序已被擦除導致沒有程序可正常運行,控制器將始終處于引導加載程序(Boot Loader)中無法正常工作。針對沒有可執(zhí)行的回滾程序問題,王棟梁等[7]采用在網關內部Flash 中存儲當前版本的技術,當升級失敗時網關會調用Flash 中的軟件再次進行刷寫,此技術只針對RTOS傳統(tǒng)實時操作系統(tǒng)的控制,并且存在網關內存空間大且回滾邏輯繁瑣的缺點。嚴娟等[8]針對網關自升級將Flash 劃分為兩個相同區(qū)域,兩者功能上完全一樣互為備份,升級時只針對其中一個區(qū)域進行升級,失敗時利用另一個區(qū)域進行回滾,但是只針對Linux、QNX 和安卓等智能操作系統(tǒng)的控制器,RTOS 傳統(tǒng)控制器并沒有此類升級技術。

因此,針對現(xiàn)有RTOS 控制器只有1個分區(qū)[9],且升級失敗造成無程序可回滾的問題,提出了一種雙分區(qū)升級技術[10-11]。考慮控制器內存空間大小不同,設計了同面啟動和異面啟動升級技術。

該技術具有以下貢獻:

(1)針對如何管理分區(qū)的問題,設計了啟動信息用于標識雙分區(qū)屬性信息,選擇對應的分區(qū)進行刷寫升級、啟動或回滾;

(2)在原芯片的基礎上通過外擴存儲器實現(xiàn)同面啟動的雙分區(qū)升級技術,避免了芯片重新選型及硬件設計,減少了開發(fā)的工作量;

(3)設計了一種新的升級包選擇下載、安裝啟動及回滾的異面啟動雙分區(qū)升級技術,優(yōu)化了升級包制作和刷寫流程,可以快速實現(xiàn)分區(qū)切換和軟件回滾。

1 雙分區(qū)定義

1.1 存儲空間分區(qū)

雙分區(qū)控制器除了引導加載程序分區(qū)外,一般需要激活分區(qū)(Active Slot)存放當前執(zhí)行應用程序,備份分區(qū)(Backup Slot)存放回滾舊版本程序,此外,還需要一個啟動信息(Slot Info)分區(qū),用于存儲激活分區(qū)和備份分區(qū)的相關屬性信息,硬件存儲空間如圖1所示。

1.2 控制器啟動方式

引導加載程序需要根據啟動信息來判斷當前激活分區(qū)并引導啟動對應的應用程序。該啟動信息將在應用程序的有效性判斷、下載刷新完成或版本回滾時進行必要的狀態(tài)切換。啟動信息關鍵屬性見表1。

表1 啟動信息關鍵屬性

1.3 升級包的組成

對于純軟件實現(xiàn)雙分區(qū)的控制器,一般會有兩個起始地址不同的應用程序分區(qū),升級時需要兩個功能相同但起始地址不同的應用程序。將兩個不同地址的應用程序通過編譯合并后,生成一個大小為兩個程序分區(qū)的文件用于控制器的選取升級,如圖2所示。

圖2 雙分區(qū)升級包組成

2 雙分區(qū)升級技術

2.1 同面啟動升級技術

同面啟動升級技術要求每次下載刷新及啟動始終在片內Flash 的激活分區(qū)進行,設計的升級技術流程如下。

(1)控制器默認出廠設置時激活分區(qū)和備份分區(qū)的軟件版本一致。

(2)控制器收到主控節(jié)點發(fā)送的0x31 01 FF 00擦除程序區(qū)指令時[13],需先對比激活分區(qū)和備份分區(qū)程序版本號,如果不一致則需將激活分區(qū)中的程序復制到備份分區(qū)中。外擴存儲器升級包下載流程如圖3所示。

圖3 外擴存儲器升級包下載流程

(3)升級包下載刷新到激活分區(qū)后,啟動信息屬性信息更新,控制器會先判斷激活分區(qū)程序有效性,如果激活分區(qū)程序有效,啟動激活分區(qū)程序,并上報本次OTA任務升級成功。

(4)當激活分區(qū)程序無效或安裝失敗時,利用備份分區(qū)程序復制到激活分區(qū)實現(xiàn)軟件版本回滾,升級流程及啟動信息屬性更新變化如圖4所示。

圖4 同面啟動升級流程

2.2 異面啟動升級技術

異面啟動是目前主流升級技術,控制器內存空間滿足雙分區(qū)要求,主要分為基于SWAP AB 和基于非SWAP AB的雙分區(qū)升級技術。

2.2.1 基于SWAP AB技術的下載流程

SWAP AB 技術是指利用地址重映射技術[13-15]將激活分區(qū)和備份分區(qū)的物理內存地址進行互換,保證了激活分區(qū)的地址始終保持固定,所以升級的重點在于如何管理下載刷新和分區(qū)切換,設計的升級下載流程如下。

(1)主控節(jié)點根據0x34 請求下載服務的起始地址和字節(jié)數,將升級包下載刷新到備份分區(qū)。

(2)當升級包下載完成且校驗通過后,啟動信息屬性更新。

(3)控制器在進行重啟或升級失敗回滾時,利用SWAP AB 技術將備份分區(qū)地址與激活分區(qū)地址互換,其下載流程如圖5所示。

圖5 基于SWAP AB技術升級包下載流程

2.2.2 基于非SWAP AB技術的下載流程

所謂非SWAP AB 技術是指控制器硬件上不支持兩個物理內存地址的互換,而且控制器的激活分區(qū)和備份分區(qū)起始地址不同,所以設計的升級技術下載流程如下。

(1)由于控制器激活分區(qū)是Slot A 還是Slot B只有控制器可知,所以主控節(jié)點內必須包含兩個內存地址的升級包,升級包制作過程如圖2所示。

(2)在主控節(jié)點發(fā)送0x31 01 FF 00 擦除指令前,控制器需將啟動信息中備份分區(qū)的起始地址發(fā)給主控節(jié)點,由此確保擦除程序是備份分區(qū)程序。

(3)擦除成功后,由主控節(jié)點判斷選擇哪部分程序屬于備份分區(qū)并進行下載刷新。

(4)當升級包下載完成且校驗通過后,重啟或升級失敗進行軟件回滾時,啟動信息中激活分區(qū)和備份分區(qū)狀態(tài)互換,下載刷新過程及啟動信息狀態(tài)變化如圖6所示。

2.2.3 異面啟動升級流程

升級包刷新成功后再判定激活分區(qū)程序有效性,如果激活分區(qū)中程序有效,則從激活分區(qū)啟動執(zhí)行;如果程序初次判定無效,再次嘗試判斷,當重復次數達到最大時說明程序無效,需要進行程序回滾。

在進行程序回滾時,控制器需先判斷備份分區(qū)中的程序有效性,當判定無效次數達到最大時,則回滾失敗,控制器功能失效;如果備份分區(qū)中程序有效,更新啟動信息屬性并啟動回滾后的激活分區(qū)程序。具體異面啟動升級流程如圖7所示。

圖7 異面啟動升級流程

3 測試與驗證

3.1 測試系統(tǒng)

雙分區(qū)升級技術測試環(huán)境主要分為ECU和上位機診斷儀系統(tǒng)[16-17],系統(tǒng)框圖及實物分別如圖8~9所示。兩系統(tǒng)之間通過USB1、USB2接口進行數據傳輸模擬主控節(jié)點刷新下載,其中,ECU側有一個KEY 按鍵控制LED 的閃爍,用于指示app的運行情況。其中,USB1 用于引導加載程序的升級,USB2用于app中的通信。

圖8 雙分區(qū)升級測試框圖

圖9 雙分區(qū)升級測試實物

采用STM32H7 系列芯片驗證升級技術,其內部Nor Flash的存儲空間分區(qū)配置見表2。

表2 存儲空間分區(qū)配置表

3.2 測試驗證方案

針對雙分區(qū)與傳統(tǒng)分區(qū)升級技術的差異點,設計測試用例時需要重點考慮升級異常時程序回滾功能的有效性、雙分區(qū)運行的穩(wěn)定性等,測試類型主要分為正常系和異常系,主要測試用例及方法見表3。

表3 測試用例及方法

測試時先通過搭建的測試系統(tǒng)驗證單控制器升級回滾情況,通過后將開發(fā)的雙分區(qū)升級控制器安裝到實車上,利用目前上線運營的OTA整套升級系統(tǒng),以及布置多控制器升級包來驗證實車環(huán)境下失敗程序回滾功能。

3.3 驗證結果

根據上述測試內容和方法,利用搭建的系統(tǒng)及實車測試驗證結果(表4),每項測試內容至少需要正向測試50 次,且每次測試結果都滿足要求才能證明該項功能正常。

表4 雙分區(qū)升級技術測試內容及結果

測試結果表明,利用啟動信息進行分區(qū)管理,解決了升級啟動分區(qū)選擇問題;針對外擴存儲器不能啟動執(zhí)行的問題,提出軟件復制備份的回滾機制,實現(xiàn)了雙分區(qū)升級技術;針對異面啟動中升級包下載的問題,提出備份分區(qū)信息讀取選擇下載技術,解決了下載的升級包與分區(qū)不對應的問題。因此,上述技術解決了整個雙分區(qū)OTA升級流程中的技術難題,實現(xiàn)了RTOS控制器雙分區(qū)升級。

4 結論

本文提出了車載ECU 雙分區(qū)升級技術,介紹了同面啟動和異面啟動的升級刷寫流程,通過開發(fā)測試系統(tǒng)驗證了該技術的有效性,得到的結論如下。

(1)對比異面啟動升級中的兩種技術,發(fā)現(xiàn)具有SWAP AB 技術的芯片實現(xiàn)雙分區(qū)升級技術的開發(fā)較簡單,升級包傳輸時間更少,同時也減少了主控節(jié)點的判斷邏輯。目前,多數芯片都支持SWAP AB 技術,建議推廣使用基于SWAP AB 的異面啟動升級技術以實現(xiàn)控制器雙分區(qū)升級。

(2)同面啟動升級中升級前備份或回滾時需要程序進行復制,導致升級過程時間比較長,帶給用戶體驗不如異面啟動升級技術,但是其優(yōu)點在于可基于原芯片實現(xiàn)雙分區(qū)升級技術,無需重新選型開發(fā)。

(3)通過對測試系統(tǒng)及實車不同控制器進行大量的升級測試,驗證了控制器雙分區(qū)升級系統(tǒng)的穩(wěn)定性和回滾時分區(qū)切換的有效性,同時得出控制器升級失敗的回滾成功率為100%。因此,該技術的應用從根本上解決了因OTA升級失敗而導致車輛控制器功能失效的問題。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創(chuàng)衛(wèi)暗訪程序有待改進
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 国产精品55夜色66夜色| 色悠久久久| a天堂视频在线| 97se亚洲综合在线韩国专区福利| 99热这里只有免费国产精品| 国产高颜值露脸在线观看| 成年人视频一区二区| 国产无码在线调教| 久久国产精品无码hdav| 国产在线视频福利资源站| 国产凹凸视频在线观看| 蜜芽国产尤物av尤物在线看| 成年av福利永久免费观看| 欧洲av毛片| 中文纯内无码H| 亚洲中久无码永久在线观看软件| 久久婷婷五月综合色一区二区| 国产精品熟女亚洲AV麻豆| 在线视频97| 人人爱天天做夜夜爽| 超碰精品无码一区二区| 一级爱做片免费观看久久| 中文字幕 91| 精品成人免费自拍视频| 精品国产aⅴ一区二区三区| 97se亚洲综合在线| 色综合中文字幕| 国产美女免费网站| 91久久偷偷做嫩草影院| 亚洲香蕉久久| 白丝美女办公室高潮喷水视频| 中文字幕人妻av一区二区| 国产在线一区二区视频| 99久久亚洲综合精品TS| 久久久久久高潮白浆| 韩日午夜在线资源一区二区| 国产精品三区四区| 国产精品林美惠子在线观看| 亚洲浓毛av| 日韩精品少妇无码受不了| 精品无码一区二区三区在线视频| 亚洲日韩高清无码| 亚洲欧美自拍中文| 国产精品va| 免费国产在线精品一区| 99久久精品国产自免费| 欧美福利在线观看| 午夜限制老子影院888| 欧美在线精品一区二区三区| 亚洲AⅤ波多系列中文字幕| AV天堂资源福利在线观看| 国产综合另类小说色区色噜噜| 亚洲国产欧美目韩成人综合| 亚洲欧美日本国产专区一区| 国产一级片网址| 国产91久久久久久| 人妻丝袜无码视频| 欧美日韩精品一区二区视频| 一级毛片不卡片免费观看| 色噜噜综合网| 精品久久国产综合精麻豆| 国产一区二区人大臿蕉香蕉| 好吊色妇女免费视频免费| 男人天堂亚洲天堂| 日本人真淫视频一区二区三区| 亚洲国产91人成在线| 2021精品国产自在现线看| 97国产精品视频人人做人人爱| 成人在线第一页| 亚洲一区二区约美女探花| 亚洲天堂视频网站| 国产女同自拍视频| 国产精品一线天| 色欲综合久久中文字幕网| 人妻中文久热无码丝袜| 中文国产成人精品久久一| 国产精品嫩草影院视频| 久久黄色免费电影| 一区二区在线视频免费观看| 免费在线观看av| 亚洲欧美一区二区三区图片| 国产凹凸视频在线观看|