EPS Bootloader時序介紹
BL概念
就是APP(應用程序)運行之前運行的一小段程序。
通過這個小程序我們主要完成:
1、軟件的刷新,有些也可以讀寫一些需要的DID信息;
2、基本的硬件初始化。
BL啟動時序圖:
在Bootloader模式下,有以下幾種方式,可導致ECU 重啟:
無論當前處于何種會話模式,“$11 $01”均能重啟ECU。
擴展會話模式或編程會話模式下,S3_Server 定時器超時能重啟ECU。
在編程會話模式下,“$10 $01”能重啟ECU。
上電/復位時序圖:
在上電/復位后,ECU 執(zhí)行Bootloader程序。
Bootloader程序首先執(zhí)行一些基本的初始化,然后檢查外部編程請求標志位是否置為TURE。如果外部編程請求標志位置為TURE,即使應用程序是有效的,Bootloader程序也會繼續(xù)運行。
如果當前沒有編程請求,則檢查應用程序的狀態(tài)。如果應用程序是有效的(標識變量為0x5A5A),則判斷在20ms 內是否收到特定報文。
如果收到特定報文,則繼續(xù)運行Bootloader程序;
如果沒有收到特定報文,則啟動應用程序;
如果應用程序是無效的(標識變量為0x0000),則繼續(xù)執(zhí)行Bootloader程序。
編程時序
編程時序分為三個編程階段:
預編程階段:做編程前的網(wǎng)絡準備;
編程進行階段:下載程序或數(shù)據(jù);
后編程階段:重同步網(wǎng)絡。
如果在預編程、編程進行和后編程階段中,任何物理尋址的請求及響應不滿足要求,則全部時序將重新執(zhí)行,允許重新執(zhí)行的次數(shù)為1 次。
診斷會話控制$10 $03:啟動擴展會話模式,通過功能尋址發(fā)送給所有的ECU。
例程控制“檢查預編程條件” $31 $01 $02 $02:通過物理尋址檢查ECU 預編程條件,從而確保系統(tǒng)安全,預編程條件由ECU 決定,如果有任何不安全的因素,ECU 應該拒絕編程,此例程控制不需要安全訪問。
注:如果ECU 在未收到“檢查預編程條件”例程($31$01 $02 $02) 的情況下,收到“$10$02”請求,ECU 應該拒絕進入Bootloader模式,并且發(fā)送否定響應。
控制DTC 設置$85 $02:關閉DTC 設置,通過功能尋址發(fā)送給所有的ECU。
通信控制0x28 $03 $03:禁止非診斷報文的發(fā)送和接收,通過功能尋址發(fā)送給所有的ECU。
讀取數(shù)據(jù) 0x22 $xx $yy:在禁止正常通信后,通過物理尋址讀取預編程ECU 的狀態(tài)信息,如:應用軟件標識、應用數(shù)據(jù)標識、Bootloader軟件標識、VIN 碼和指紋記錄等。數(shù)據(jù)讀取服務為可選服務,讀取的內容由ECU供應商定義。
(a)診斷會話控制$10 $02: ECU 收到此請求后,將分配編程所需的資源。ECU 應該在跳轉到Bootloader模式之前,發(fā)送肯定響應。
(b)安全訪問$27 $07/$08:編程事件必須通過安全訪問,確保只有授權的診斷儀能對ECU 進行編程操作。
(c)驅動下載$34,$36,$37,$31:Flash 驅動的下載應該按照如下時序來進行:請求下載、傳輸數(shù)據(jù)、請求傳輸退出。下載完所有字節(jié)后,用“檢查編程完整性”例程($31 $01 $02 $01) 來檢查所有的字節(jié)是否正確下載。
(d)寫入數(shù)據(jù)$2E $F0 $11:在擦除內存例程($31 $01 $FF $00)執(zhí)行之前,ECU 需要將應用數(shù)據(jù)指紋記錄寫到內存中。每個邏輯塊(除了驅動)下載前,診斷儀都將寫一次應用數(shù)據(jù)指紋記錄。當下載完邏輯塊后,ECU 根據(jù)邏輯塊的序號將應用數(shù)據(jù)指紋記錄存儲。在追溯指紋記錄時,診斷儀將發(fā)報文“$22 $F0$21”,ECU 將發(fā)送報文“$62 $F0 $21…”,根據(jù)邏輯塊的編號返回每一個邏輯塊指紋記錄。
(e)“擦除內存”例程$31 $01 $FF $00:如果擦除內存例程被調用,那么應用程序有效標識變量將被置為無效(0x0000)。
(f)下載過程$34,$36,$37:應用程序或數(shù)據(jù)的每一個連續(xù)的數(shù)據(jù)塊下載到ECU 非易失性內存中,都需遵循下面的服務順序完成數(shù)下載:
請求下載($34)
傳輸數(shù)據(jù)($36)
請求傳輸退出($37)
(g)“檢查編程完整性”例程$31 $01 $02 $01:此例程用來檢查所下載的邏輯塊的完整性。
(h)“檢查編程依賴性”例程$31 $01 $FF $01:完成所有的應用程序或數(shù)據(jù)的下載,診斷儀將發(fā)送檢查編程依賴性的例程。確保所有邏輯塊的完整性和一致性。
(i)電控單元復位$11 $01:診斷儀使用物理尋址,發(fā)送一個復位類型為硬復位的ECU 復位服務($11)
請求報文到CAN 網(wǎng)絡上。通過ECU 復位服務請求將使ECU 結束編程過程,返回到正常的操作模式。FLASH 驅動程序必須從RAM緩存中完全清除,避免非預期的內存擦除。
診斷會話控制$10 $01:診斷儀通過功能尋址發(fā)送一個會話類型為默認會話的診斷會話控制$10服務請求報文到網(wǎng)絡上,所有ECU 進入默認會話模式。
清除診斷信息$14 $FF $FF $FF:診斷儀通過物理尋址清除編程ECU 的診斷信息。
請輸入評論內容...
請輸入評論/評論長度6~500個字
圖片新聞
最新活動更多
推薦專題
- IE工程師(汽車智聯(lián)) 惠州碩貝德無線科技股份有限公司
- 現(xiàn)場技術支持工程師(汽車) 易思維(杭州)科技股份有限公司
- 銷售經(jīng)理(汽車新能源行業(yè)) 廣州瑞松智能科技股份有限公司
- 結構工程師-汽車電子事業(yè)部(J10116) 深圳奧尼電子股份有限公司
- 銷售總監(jiān)-汽車電子方向 深圳市智立方自動化設備股份有限公司
- 項目經(jīng)理(汽車內飾&汽車電子) 伯恩光學(惠州)有限公司
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結構工程師 廣東省/深圳市