EPS Bootloader時(shí)序介紹
BL概念
就是APP(應(yīng)用程序)運(yùn)行之前運(yùn)行的一小段程序。
通過這個(gè)小程序我們主要完成:
1、軟件的刷新,有些也可以讀寫一些需要的DID信息;
2、基本的硬件初始化。
BL啟動(dòng)時(shí)序圖:
在Bootloader模式下,有以下幾種方式,可導(dǎo)致ECU 重啟:
無論當(dāng)前處于何種會(huì)話模式,“$11 $01”均能重啟ECU。
擴(kuò)展會(huì)話模式或編程會(huì)話模式下,S3_Server 定時(shí)器超時(shí)能重啟ECU。
在編程會(huì)話模式下,“$10 $01”能重啟ECU。
上電/復(fù)位時(shí)序圖:
在上電/復(fù)位后,ECU 執(zhí)行Bootloader程序。
Bootloader程序首先執(zhí)行一些基本的初始化,然后檢查外部編程請求標(biāo)志位是否置為TURE。如果外部編程請求標(biāo)志位置為TURE,即使應(yīng)用程序是有效的,Bootloader程序也會(huì)繼續(xù)運(yùn)行。
如果當(dāng)前沒有編程請求,則檢查應(yīng)用程序的狀態(tài)。如果應(yīng)用程序是有效的(標(biāo)識變量為0x5A5A),則判斷在20ms 內(nèi)是否收到特定報(bào)文。
如果收到特定報(bào)文,則繼續(xù)運(yùn)行Bootloader程序;
如果沒有收到特定報(bào)文,則啟動(dòng)應(yīng)用程序;
如果應(yīng)用程序是無效的(標(biāo)識變量為0x0000),則繼續(xù)執(zhí)行Bootloader程序。
編程時(shí)序
編程時(shí)序分為三個(gè)編程階段:
預(yù)編程階段:做編程前的網(wǎng)絡(luò)準(zhǔn)備;
編程進(jìn)行階段:下載程序或數(shù)據(jù);
后編程階段:重同步網(wǎng)絡(luò)。
如果在預(yù)編程、編程進(jìn)行和后編程階段中,任何物理尋址的請求及響應(yīng)不滿足要求,則全部時(shí)序?qū)⒅匦聢?zhí)行,允許重新執(zhí)行的次數(shù)為1 次。
診斷會(huì)話控制$10 $03:啟動(dòng)擴(kuò)展會(huì)話模式,通過功能尋址發(fā)送給所有的ECU。
例程控制“檢查預(yù)編程條件” $31 $01 $02 $02:通過物理尋址檢查ECU 預(yù)編程條件,從而確保系統(tǒng)安全,預(yù)編程條件由ECU 決定,如果有任何不安全的因素,ECU 應(yīng)該拒絕編程,此例程控制不需要安全訪問。
注:如果ECU 在未收到“檢查預(yù)編程條件”例程($31$01 $02 $02) 的情況下,收到“$10$02”請求,ECU 應(yīng)該拒絕進(jìn)入Bootloader模式,并且發(fā)送否定響應(yīng)。
控制DTC 設(shè)置$85 $02:關(guān)閉DTC 設(shè)置,通過功能尋址發(fā)送給所有的ECU。
通信控制0x28 $03 $03:禁止非診斷報(bào)文的發(fā)送和接收,通過功能尋址發(fā)送給所有的ECU。
讀取數(shù)據(jù) 0x22 $xx $yy:在禁止正常通信后,通過物理尋址讀取預(yù)編程ECU 的狀態(tài)信息,如:應(yīng)用軟件標(biāo)識、應(yīng)用數(shù)據(jù)標(biāo)識、Bootloader軟件標(biāo)識、VIN 碼和指紋記錄等。數(shù)據(jù)讀取服務(wù)為可選服務(wù),讀取的內(nèi)容由ECU供應(yīng)商定義。
(a)診斷會(huì)話控制$10 $02: ECU 收到此請求后,將分配編程所需的資源。ECU 應(yīng)該在跳轉(zhuǎn)到Bootloader模式之前,發(fā)送肯定響應(yīng)。
(b)安全訪問$27 $07/$08:編程事件必須通過安全訪問,確保只有授權(quán)的診斷儀能對ECU 進(jìn)行編程操作。
(c)驅(qū)動(dòng)下載$34,$36,$37,$31:Flash 驅(qū)動(dòng)的下載應(yīng)該按照如下時(shí)序來進(jìn)行:請求下載、傳輸數(shù)據(jù)、請求傳輸退出。下載完所有字節(jié)后,用“檢查編程完整性”例程($31 $01 $02 $01) 來檢查所有的字節(jié)是否正確下載。
(d)寫入數(shù)據(jù)$2E $F0 $11:在擦除內(nèi)存例程($31 $01 $FF $00)執(zhí)行之前,ECU 需要將應(yīng)用數(shù)據(jù)指紋記錄寫到內(nèi)存中。每個(gè)邏輯塊(除了驅(qū)動(dòng))下載前,診斷儀都將寫一次應(yīng)用數(shù)據(jù)指紋記錄。當(dāng)下載完邏輯塊后,ECU 根據(jù)邏輯塊的序號將應(yīng)用數(shù)據(jù)指紋記錄存儲(chǔ)。在追溯指紋記錄時(shí),診斷儀將發(fā)報(bào)文“$22 $F0$21”,ECU 將發(fā)送報(bào)文“$62 $F0 $21…”,根據(jù)邏輯塊的編號返回每一個(gè)邏輯塊指紋記錄。
(e)“擦除內(nèi)存”例程$31 $01 $FF $00:如果擦除內(nèi)存例程被調(diào)用,那么應(yīng)用程序有效標(biāo)識變量將被置為無效(0x0000)。
(f)下載過程$34,$36,$37:應(yīng)用程序或數(shù)據(jù)的每一個(gè)連續(xù)的數(shù)據(jù)塊下載到ECU 非易失性內(nèi)存中,都需遵循下面的服務(wù)順序完成數(shù)下載:
請求下載($34)
傳輸數(shù)據(jù)($36)
請求傳輸退出($37)
(g)“檢查編程完整性”例程$31 $01 $02 $01:此例程用來檢查所下載的邏輯塊的完整性。
(h)“檢查編程依賴性”例程$31 $01 $FF $01:完成所有的應(yīng)用程序或數(shù)據(jù)的下載,診斷儀將發(fā)送檢查編程依賴性的例程。確保所有邏輯塊的完整性和一致性。
(i)電控單元復(fù)位$11 $01:診斷儀使用物理尋址,發(fā)送一個(gè)復(fù)位類型為硬復(fù)位的ECU 復(fù)位服務(wù)($11)
請求報(bào)文到CAN 網(wǎng)絡(luò)上。通過ECU 復(fù)位服務(wù)請求將使ECU 結(jié)束編程過程,返回到正常的操作模式。FLASH 驅(qū)動(dòng)程序必須從RAM緩存中完全清除,避免非預(yù)期的內(nèi)存擦除。
診斷會(huì)話控制$10 $01:診斷儀通過功能尋址發(fā)送一個(gè)會(huì)話類型為默認(rèn)會(huì)話的診斷會(huì)話控制$10服務(wù)請求報(bào)文到網(wǎng)絡(luò)上,所有ECU 進(jìn)入默認(rèn)會(huì)話模式。
清除診斷信息$14 $FF $FF $FF:診斷儀通過物理尋址清除編程ECU 的診斷信息。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
圖片新聞
技術(shù)文庫
最新活動(dòng)更多
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
-
精彩回顧立即查看>> 【在線研討會(huì)】普源精電--激光原理應(yīng)用與測試解決方案
-
精彩回顧立即查看>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
精彩回顧立即查看>> 【線上直播】新能源汽車熱管理行業(yè)應(yīng)用新進(jìn)展
-
精彩回顧立即查看>> 【線上直播】西門子電池行業(yè)研討會(huì)-P4B如何加速電池開發(fā)
-
精彩回顧立即查看>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
推薦專題
- 1 行業(yè)競爭加劇,汽車芯片卷向高算力?
- 2 中國第一輛無人駕駛汽車:從實(shí)驗(yàn)室到萬里長江的狂飆三十年
- 3 當(dāng)凱迪拉克只要15萬元,為什么還是沒人買豪華品牌
- 4 重倉特斯拉的木頭姐,忽視了一個(gè)重磅玩家
- 5 智能座艙:一塊屏幕的進(jìn)化史
- 6 比亞迪想當(dāng)兩輪電動(dòng)車“賣鏟人”
- 7 自動(dòng)駕駛科普十問:什么是自動(dòng)駕駛?將給我們帶來哪些影響?
- 8 百度盯上新“蛋糕”,蘿卜快跑要在歐洲快跑
- 9 無人快遞配送車的前景:快遞4月破500億件,無人車如何撕開萬億市場的口子?
- 10 固態(tài)激光雷達(dá)會(huì)是組合輔助駕駛的新寵嗎?