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

基于CANFD的域控制器Bootloader系統(tǒng)設(shè)計(jì)

2025-07-13 00:00:00于文函陳明銀林志方澤彬林宇宇黃勇波
汽車電器 2025年6期
關(guān)鍵詞:程序服務(wù)

中圖分類號(hào):U463.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-8639(2025)06-0084-03 Design ofDomain ControllerBootloaderSystem Basedon CANFD YuWenhan,Chen Mingyin,Lin Zhi,F(xiàn)ang Zebin,Lin Yuyu,HuangYongbo (Guangzhou Automobile Group Co.,Ltd.,Automotive Engineering Institute,Guangzhou 510,China)

【Abstract】This paper based on the UDS diagnostic protocol and the auto factory's write specification,aset of write upper computer and domain controller Bootloader upgrade scheme based on CANFD communication is designed. Theupper computer is independentlydeveloped byTsmaster.OnlyFlash DriverandApp filescanbeimported toachieve a complete brush and write process,which is efficient andpractical.In the domaincontrolerscheme,thedesign principleofBTprogramiscompletelyproposed,inwhichAppbackupcan ensure theintegrityofECU function,and the scheme of Flash Driver downloaded toRAMenhances therobustness androbustness of theprogram.Theexperiment shows that the upper computer schemecan realize the complete process of brushing andwriting,and the domain controller Bootloader program has high stability.

【Keywords】 CANFD;ZCU;Bootloader;reprogramming

0 引言

2020年以前,汽車電子電氣架構(gòu)主要采用分布式架構(gòu),該架構(gòu)無(wú)法應(yīng)對(duì)功能快速迭代升級(jí)和定制化生產(chǎn)的需求,也無(wú)法滿足未來(lái)汽車龐大的算力和數(shù)據(jù)要求。2023年開(kāi)始,主機(jī)廠開(kāi)始選擇集中式域控架構(gòu)作為解決方案。集中式域控架構(gòu)包括中央域、智駕域、信息娛樂(lè)域和區(qū)域控制等關(guān)鍵控制器。這些域控制器集成了分布式架構(gòu)下控制器的眾多功能,由于軟件迭代頻繁,所以這些控制器的軟件升級(jí)就顯得格外重要。

控制器供應(yīng)商排查整車問(wèn)題時(shí)常用的是Bootloader刷新。CANFD通信可以增加通信速率1。本文依據(jù)ISO14229標(biāo)準(zhǔn)的UDS診斷協(xié)議,并結(jié)合整車廠的刷寫(xiě)規(guī)范,設(shè)計(jì)一套基于CANFDUDS的BootLoader上下位機(jī)升級(jí)方案。

1車載軟件總體論述

一個(gè)可重編程的ECU包含Bootloader(BT)和App程序。Bootloader是MCU上電后運(yùn)行的第一段程序2,它可初始化硬件設(shè)備、建立內(nèi)存空間的映射,也可對(duì)Flash進(jìn)行擦除和編程,起到引導(dǎo)應(yīng)用程序和升級(jí)應(yīng)用程序的作用。簡(jiǎn)而言之,F(xiàn)lashBootloader通過(guò)CAN總線升級(jí)App程序。一個(gè)ECU如果沒(méi)有BT,那么更新程序只能通過(guò)燒錄器,反之,則可以通過(guò)診斷接口進(jìn)行升級(jí),這在整車上是非常方便的,不用拆件[3]。僅當(dāng)應(yīng)用程序無(wú)效、上電之初和軟件升級(jí)時(shí)才會(huì)運(yùn)行Bootloader。ECU在多數(shù)時(shí)間執(zhí)行的是應(yīng)用程序。

Bootloader在產(chǎn)品出廠時(shí)就會(huì)固定下來(lái),當(dāng)需要更新程序時(shí),通過(guò)BT程序?qū)pp程序進(jìn)行擦除和重新寫(xiě)人,即產(chǎn)品出廠后只更新App軟件。ECU正常上電走完初始化后,會(huì)判斷是否有升級(jí)請(qǐng)求,如果沒(méi)有則跳到App程序運(yùn)行;如果有升級(jí)請(qǐng)求,則運(yùn)行BT程序進(jìn)行升級(jí)4。BT程序一般放在Flash的最開(kāi)始處,App程序在其后,這樣可以獨(dú)立配置兩個(gè)區(qū)域的內(nèi)存保護(hù)。如圖1所示,App程序和BT程序占用不同的Flash,App程序和BT程序的區(qū)別在于它通過(guò)控制驅(qū)動(dòng)芯片、功率芯片和通信芯片,從而具有了輸入輸出功能。

1.1 Bootloader

Bootloader是Boot加Loader,Boot是引導(dǎo),用于初始化硬件設(shè)備,是為L(zhǎng)oader做準(zhǔn)備的。Loader是加載器,Boot準(zhǔn)備好環(huán)境后,Loader將要執(zhí)行的程序從非易失性存儲(chǔ)設(shè)備中加載到內(nèi)存中運(yùn)行。Bootloader通過(guò)調(diào)用特定IAP程序?qū)α硗庖欢蜦lash空間進(jìn)行讀與寫(xiě)操作,從而實(shí)現(xiàn)對(duì)MCU程序的更新。ECU如果有BT程序,則可通過(guò)CAN刷寫(xiě)進(jìn)行版本修改、升級(jí),不用拆件,極大地方便了開(kāi)發(fā)者。

圖1中,BT程序使用UDS的診斷服務(wù)作為通信協(xié)議,它具有CAN驅(qū)動(dòng)、傳輸層和UDS協(xié)議層的通信堆棧。由于BT程序的重要性,它應(yīng)該被存放在已進(jìn)行保護(hù)(軟件上鎖或硬件保護(hù))的存儲(chǔ)區(qū)域??紤]可能刷寫(xiě)失敗導(dǎo)致丟失 App 程序,可以在Flash中增加App備份、BT備份程序。

1.2 Flash Driver

本文FlashDriver指MCU廠商提供的擦寫(xiě)Flash的驅(qū)動(dòng)函數(shù),當(dāng)升級(jí)時(shí),F(xiàn)lashDriver會(huì)被臨時(shí)下載到RAM中,軟件升級(jí)完成后復(fù)位就會(huì)刪除。這樣可以避免程序正常運(yùn)行中誤調(diào)用FlashDriver導(dǎo)致Flash程序被改寫(xiě)。

?
圖1可編程ECU內(nèi)存映射

FlashDriver至少包含四個(gè)Flash接口函數(shù):初始化、反初始化、擦除和寫(xiě)入。初始化函數(shù),BT程序調(diào)用此函數(shù)為Flash編程執(zhí)行硬件特定的初始化;反初始化函數(shù),下載完成后,BT調(diào)用此函數(shù)執(zhí)行特定的硬件操作來(lái)完成Flash編程,擦除函數(shù),BT程序調(diào)用此函數(shù)擦除指定的內(nèi)存區(qū)域;寫(xiě)入函數(shù),BT程序調(diào)用此函數(shù)把數(shù)據(jù)寫(xiě)進(jìn)Flash。

1.3 Flash Tool

FlashTool可以使用 C++[6] 、C#等進(jìn)行開(kāi)發(fā)。如圖2所示,刷寫(xiě)上位機(jī)導(dǎo)入安全算法文件、FlashDriver、App文件后自動(dòng)解析出 bin 文件里的起始地址、長(zhǎng)度等信息,通過(guò)CAN卡(CANoe、Vspy、Kvaser、同星等)發(fā)送診斷報(bào)文與下位機(jī)進(jìn)行交互9。下位機(jī)接收到診斷報(bào)文后調(diào)用FlashDriver里的擦寫(xiě)函數(shù)進(jìn)行App程序升級(jí)。如果上位機(jī)發(fā)報(bào)文格式錯(cuò)誤或者下位機(jī)響應(yīng)錯(cuò)誤都將導(dǎo)致刷寫(xiě)失敗。

FlashTool下載流程如下。

1)讀取編譯后的目標(biāo)文件(s19、hex)。

2)控制下載流程。

3)基于協(xié)議執(zhí)行數(shù)據(jù)傳輸。

4)執(zhí)行驗(yàn)證。

2 BT程序軟件設(shè)計(jì)

復(fù)位后,ECU從BT程序開(kāi)始運(yùn)行,確保BT程序不受特定應(yīng)用程序硬件設(shè)置的影響。為確保BT程序不被修改,有些MCU廠商還會(huì)給BT程序加鎖實(shí)現(xiàn)保護(hù)。

2.1 Flash重編程規(guī)范

如圖3所示,ECU啟動(dòng)完成初始化后判斷是否有外部升級(jí)請(qǐng)求,有則跳到BT程序;沒(méi)有則判斷App程序是否有效,有效則跳到 App 程序,無(wú)效則跳到BT程序。

?
圖3ECU啟動(dòng)時(shí)序

ISO14229系列標(biāo)準(zhǔn)定義的統(tǒng)一診斷服務(wù)(Uni-fiedDiagnosticServices,UDS)診斷協(xié)議是用于汽車行業(yè)診斷通信的需求規(guī)范。表1是刷寫(xiě)常用的診斷服務(wù)[0]。基于UDS診斷協(xié)議和整車廠的刷寫(xiě)規(guī)范,將刷寫(xiě)分為三個(gè)步驟:預(yù)編程、服務(wù)器編程和后編程。

2.2 預(yù)編程

預(yù)編程通過(guò)物理尋址和功能尋址發(fā)送診斷報(bào)文為編程網(wǎng)絡(luò)準(zhǔn)備網(wǎng)絡(luò)。檢查編程條件是為了判斷當(dāng)前條件是否可以升級(jí)。當(dāng)條件不滿足時(shí)(高壓上電、低壓異常或車速不為0),刷新服務(wù)請(qǐng)求將被拒絕。關(guān)閉DTC記錄和所有非診斷報(bào)文傳輸是為了降低總線負(fù)載率,為接下來(lái)的服務(wù)器編程準(zhǔn)備網(wǎng)絡(luò)。預(yù)編程步驟如圖4所示。

?
表1刷寫(xiě)常用的診斷服務(wù)

22服務(wù)讀取 擴(kuò)展模式 檢查編程條件 預(yù)編程 \22xx\yy10\0331\0102\01003 停發(fā)非診斷報(bào)文 關(guān)閉DTC檢測(cè) \0028\0301 \8502

2.3 服務(wù)器編程

服務(wù)器編程是整個(gè)編程步驟的重點(diǎn),它包含了安全算法、寫(xiě)指紋信息、下載FlashDriver、升級(jí)App程序、校驗(yàn)程序完整性一致性等關(guān)鍵步驟。

ECU收到1002指令后將外部刷新請(qǐng)求標(biāo)志位設(shè)置為有效并執(zhí)行ECU重啟。解鎖ECU,F(xiàn)lashTool向ECU請(qǐng)求種子,F(xiàn)lashTool和ECU都計(jì)算出密鑰,F(xiàn)lashTool將密鑰發(fā)送給ECU。ECU將匹配自己算出的值和FlashTool收到的密鑰值,如果一致,則通過(guò)安全算法。寫(xiě)指紋信息是將診斷儀完成的刷寫(xiě)信息寫(xiě)進(jìn)ECU,這樣可以追溯到對(duì)應(yīng)的診斷儀。

因?yàn)镕lash中存儲(chǔ)FlashDriver有風(fēng)險(xiǎn),所以FlashDriver是通過(guò)34、36、37服務(wù)下載到RAM。如圖5所示,寫(xiě)App程序需要參數(shù)為 31~\ S 01 FF" "00 的RoutineControl服務(wù)請(qǐng)求擦除請(qǐng)求的邏輯塊。邏輯塊的所有段都通過(guò)服務(wù)RequestDownload(參數(shù)為起始地址和段的長(zhǎng)度)、TransferData和RequestTransfer-Exit的序列下載到ECU。在34服務(wù)之后,段的所有數(shù)據(jù)字節(jié)由36服務(wù)傳輸。傳輸完所有的段字節(jié)后,使用37服務(wù)結(jié)束下載。

2.4 后編程

如圖6所示,后編程步驟由2E服務(wù)和硬復(fù)位等步驟完成。寫(xiě)編程日期將編程日期寫(xiě)入Flash中,可以追溯到最近一次刷寫(xiě)的時(shí)間。硬復(fù)位將重啟ECU并最終跳轉(zhuǎn)到App程序運(yùn)行。

?
圖4預(yù)編程步驟
?
圖5服務(wù)器編程步驟

3試驗(yàn)

本文基于域控制器進(jìn)行CANFD的刷寫(xiě)試驗(yàn),采用同星TC1013為刷寫(xiě)CAN卡,同星配套軟件Tsmas-ter為上位機(jī)。假如刷寫(xiě)條件(供電電壓、車速等)不滿足,刷寫(xiě)會(huì)失敗;假如刷寫(xiě)過(guò)程中斷電,由于有App備份,ECU依然具有備份的App程序。整個(gè)試驗(yàn)過(guò)程檢驗(yàn)了FlashTool上位機(jī)的功能,也檢驗(yàn)了域控制器的BT程序。整個(gè)刷寫(xiě)流程滿足國(guó)標(biāo)和企標(biāo)要求,試驗(yàn)成功。如圖7所示。

4結(jié)束語(yǔ)

本文依據(jù)ISO14229標(biāo)準(zhǔn)的UDS診斷協(xié)議,并結(jié)合整車廠的刷寫(xiě)規(guī)范,設(shè)計(jì)了一套基于CANFDUDS的Bootloader上位機(jī)和域控制器升級(jí)方案。上位機(jī)采用同星配套軟件Tsmaster,上位機(jī)方案自主開(kāi)發(fā)出刷寫(xiě)界面,只用導(dǎo)人FlashDriver和App文件即可,高效實(shí)用。上位機(jī)方案完整地提出了刷寫(xiě)的流程。域控制器升級(jí)方案中完整地提出了BT程序的設(shè)計(jì)原理,其中App備份可以保證ECU功能的完整性。FlashDriver臨時(shí)下載到RAM中的方案增強(qiáng)了程序的魯棒性和健壯性。

參考文獻(xiàn):

[1]潘文卿,劉興義,王飛飛.CANFD協(xié)議在程序刷寫(xiě)中的研究與應(yīng)用[J].汽車電器,2021(12):36-38,41.

[2]凌露露,趙芬.車載毫米波雷達(dá)Bootloader的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2021(9):218-220.

[3]陳睿智,石春,吳剛,等.面向OTA需求的汽車電控單元Bootloader設(shè)計(jì)[J].儀表技術(shù),2021(2):8-12,22.

[4]李鑫,李艷明,王志遠(yuǎn),等.基于CAN總線電氣綜合控制盒Bootloader軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].車輛與動(dòng)力技術(shù),2021(1):39-42,54.

[5]李興國(guó),周榮,李旭.基于PowerPC系列處理器的Boot-loader設(shè)計(jì)與應(yīng)用[J].鐵路通信信號(hào)工程技術(shù),2020,17(1):34-37.

[6]袁鋒,丁元章,張偉,等.基于S32K148的車輛網(wǎng)關(guān)CANBootloader開(kāi)發(fā)與實(shí)現(xiàn)[J].汽車電器,2021(12):30-32,35.

[7]唐恒飛,王效金.基于UDS協(xié)議的汽車控制器刷寫(xiě)軟件設(shè)計(jì)[J].智能計(jì)算機(jī)與應(yīng)用,2021,11(1):102-105

[8]么居標(biāo),宋建桐,呂江毅,等.基于CAN總線的電機(jī)控制器Bootloader開(kāi)發(fā)[J].測(cè)控技術(shù),2018,37(10):124-126,131.

[9]楊朝陽(yáng),黃凱旋,仝秀峰,等.基于UDS的Bootloader上下位機(jī)設(shè)計(jì)[J].軟件,2023,44(7):42-47.

[10]趙鑫.基于CAN總線的多控制器軟件刷寫(xiě)技術(shù)的研究與實(shí)現(xiàn)[D].武漢:武漢科技大學(xué),2022.

(編輯楊凱麟)

?

猜你喜歡
程序服務(wù)
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
試論我國(guó)未決羈押程序的立法完善
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
主站蜘蛛池模板: 国产97公开成人免费视频| 亚洲国产中文在线二区三区免| 呦女亚洲一区精品| 特级aaaaaaaaa毛片免费视频| 手机成人午夜在线视频| 免费在线色| 国产一区二区三区日韩精品| 亚洲三级片在线看| 高清无码一本到东京热| 国产精品内射视频| 国产菊爆视频在线观看| 国产呦精品一区二区三区下载| 香蕉久久国产超碰青草| 久久综合AV免费观看| 日韩午夜福利在线观看| 国产成人免费高清AⅤ| 国产Av无码精品色午夜| 国产成人无码Av在线播放无广告| 亚洲色无码专线精品观看| 国产在线一二三区| 亚洲精品视频免费观看| 国产一区二区三区在线观看视频 | 伊人网址在线| 精品人妻一区无码视频| 亚洲区一区| 日韩欧美网址| 国产精品不卡永久免费| 高清欧美性猛交XXXX黑人猛交 | 午夜视频日本| 呦女精品网站| 毛片免费高清免费| 国产国模一区二区三区四区| 国产jizzjizz视频| 极品国产在线| 国内熟女少妇一线天| 精品国产91爱| 亚洲国产精品VA在线看黑人| 99久久精品免费看国产免费软件 | 精品视频91| 国产肉感大码AV无码| 性欧美精品xxxx| 色国产视频| 大学生久久香蕉国产线观看| AV天堂资源福利在线观看| 亚洲国产清纯| 亚洲欧美人成电影在线观看| 国产精品蜜臀| 国产精品网曝门免费视频| 久久精品国产精品一区二区| 67194亚洲无码| 久久综合九色综合97婷婷| 91无码网站| 国产在线拍偷自揄拍精品| 色综合热无码热国产| 好久久免费视频高清| 成人福利在线视频免费观看| 在线观看免费AV网| 久久人人97超碰人人澡爱香蕉| 热久久这里是精品6免费观看| a毛片基地免费大全| 中文字幕人妻av一区二区| 国产成人超碰无码| av无码久久精品| 久久天天躁狠狠躁夜夜2020一| 九九热免费在线视频| 国产精品人成在线播放| 午夜欧美理论2019理论| 亚洲激情99| 欧美伦理一区| 欧美国产视频| 亚洲国产中文在线二区三区免| 制服丝袜 91视频| 久99久热只有精品国产15| 欧美国产成人在线| 美女国产在线| 精品成人一区二区三区电影| 国产成熟女人性满足视频| 成人福利免费在线观看| 99久久精品免费观看国产| 国产亚洲视频免费播放| 99久久精品免费观看国产| 久久夜色精品国产嚕嚕亚洲av|