1. ECU的啟動(dòng)順序
ECU上電或者復(fù)位后,Bootloader代碼首先被執(zhí)行。Bootloader執(zhí)行基本的初始化,檢查是否有外部重編程請(qǐng)求。如果沒有外部重編程請(qǐng)求,檢查應(yīng)用程序的狀態(tài)。如果應(yīng)用程序有效,ECU執(zhí)行應(yīng)用程序,如果應(yīng)用程序無效,ECU繼續(xù)執(zhí)行Bootloader,且Bootloader的默認(rèn)會(huì)話被激活。
1. 診斷會(huì)話
傳統(tǒng)ECU的診斷會(huì)話包括默認(rèn)會(huì)話模式,擴(kuò)展會(huì)話模式和編程模式。
ECU在擴(kuò)展會(huì)話執(zhí)行有效的應(yīng)用程序,編程會(huì)話請(qǐng)求可激活Bootloader,因此,應(yīng)用程序應(yīng)設(shè)置外部重編程請(qǐng)求標(biāo)志并復(fù)位,復(fù)位后直接進(jìn)入Bootloader的編程會(huì)話。
Bootloader不支持從編程會(huì)話切換至擴(kuò)展會(huì)話。
2. 升級(jí)步驟
ECU的刷新升級(jí)列分為預(yù)編程步驟、編程步驟和后置編程步驟三個(gè)步驟
2.1. 預(yù)編程步驟
1. ECU重編程前需要禁止DTC設(shè)置和網(wǎng)絡(luò)常規(guī)通信,因此,使用功能尋址發(fā)送擴(kuò)展會(huì)話診斷$10$03請(qǐng)求使網(wǎng)絡(luò)中所有ECU進(jìn)入擴(kuò)展會(huì)話。
2.重編程前需要檢查系統(tǒng)的重編程條件。此例程控制服務(wù)用于檢查系統(tǒng)的狀態(tài)是否為安全狀態(tài)。此診斷服務(wù)必須響應(yīng)。(例如:重編程條件要求車速為0Km/h、ECU處于正常工作電壓狀態(tài)下,其他編程條件由車廠確定,ECU實(shí)現(xiàn)。)
3.重編程過程中為了避免誤報(bào)故障,應(yīng)該關(guān)閉網(wǎng)絡(luò)中所有ECU的DTC檢測(cè)和存儲(chǔ)功能。使用功能尋址發(fā)送DTCSettingType為“OFF”的ControlDTCSetting診斷服務(wù)請(qǐng)求。
4.通信控制服務(wù)用于禁止網(wǎng)絡(luò)上所有ECU非診斷報(bào)文的發(fā)送和接收。因此,使用功能尋址發(fā)送此診斷服務(wù)。
5.通過標(biāo)識(shí)符讀取數(shù)據(jù)是可選服務(wù),用于獲取ECU相關(guān)信息。
2.2. 編程步驟
編程步驟用于編程一個(gè)或多個(gè)邏輯塊,此步驟的所有診斷服務(wù)都使用物理尋址。如果編程步驟中發(fā)生錯(cuò)誤,則應(yīng)重新執(zhí)行完整序列。
1. 當(dāng)ECU運(yùn)行在應(yīng)用程序的擴(kuò)展會(huì)話中,收到診斷會(huì)話控制服務(wù)($10 $02)后應(yīng)判斷是否允許跳轉(zhuǎn)到編程會(huì)話,具體是判斷是否已經(jīng)執(zhí)行例程控制 “預(yù)編程條件檢查”($31 $01 )并且響應(yīng)為肯定響應(yīng),如果不是,ECU應(yīng)拒絕進(jìn)入編程會(huì)話,如果是,應(yīng)用程序應(yīng)設(shè)置外部重編程請(qǐng)求標(biāo)志并發(fā)送否定響應(yīng),然后,ECU通過復(fù)位的方式跳轉(zhuǎn)到Bootloader,并Bootloader發(fā)出肯定響應(yīng),肯定響應(yīng)發(fā)送成功后激活Bootloader的編程會(huì)話。當(dāng)ECU運(yùn)行在Bootloader程序的擴(kuò)展會(huì)話中,收到診斷會(huì)話控制服務(wù)($10 $02)后直接回復(fù)肯定響應(yīng),并進(jìn)入編程會(huì)話。
2.在Flash重編程之前,需要經(jīng)過ECU安全認(rèn)證。安全訪問服務(wù)子功能$11請(qǐng)求種子,使用$12發(fā)送密鑰。
3.通過$2E$F184寫入指紋信息應(yīng)存儲(chǔ)在ECU的非易失性存儲(chǔ)器中。該指紋信息使用“通過標(biāo)識(shí)符寫數(shù)據(jù)”服務(wù)寫入ECU。
4.例程控制-啟動(dòng)擦除內(nèi)存$31 $01 $FF00。
5.邏 輯 塊 的 所 有 段 的 數(shù) 據(jù) 通 過 $34(RequestDownload),$36(TransferData),$37(RequestTransferExit)服務(wù)下載到ECU。
6.通過$31 $01 $0201 啟動(dòng)完整性校驗(yàn)例程,確保下載數(shù)據(jù)的完整性(真實(shí)性)。
7.發(fā)送 $31 $01 $FF01啟動(dòng)編程依賴性檢查。例程執(zhí)行后,需將檢查結(jié)果反饋給DPC或者診斷儀。
2.1. 后置編程步驟
1.發(fā)送$11 $01進(jìn)行ECU 復(fù)位.ECU復(fù)位服務(wù)用于結(jié)束Flash重編程使ECU進(jìn)入正常的操作模式。
2.進(jìn)入擴(kuò)展模式發(fā)送$10$03.
3.發(fā)送$28 $00 $01診斷服務(wù),恢復(fù)網(wǎng)絡(luò)正常通信。
4.發(fā)送$85 $01診斷服務(wù),恢復(fù)網(wǎng)絡(luò)正常DTC設(shè)置。
5.發(fā)送$10 $01診斷服務(wù),使網(wǎng)絡(luò)上的ECU返回默認(rèn)會(huì)話。
審核編輯 :李倩
-
編程
+關(guān)注
關(guān)注
88文章
3633瀏覽量
93853 -
ecu
+關(guān)注
關(guān)注
14文章
890瀏覽量
54603
原文標(biāo)題:ECU Bootloader的三部曲
文章出處:【微信號(hào):智能汽車電子與軟件,微信公眾號(hào):智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論