日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汽车Bootloader流程

發布時間:2023/12/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汽车Bootloader流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

根據ISO14229-1 寫的汽車行業 Bootloader流程

  • 1 編程前


→ 先讀取軟硬件版本號
22 F1 XX? 軟件信息
22 F1 XX? 硬件信息
→ 進入擴展會話extend diagnostic sessions 功能尋址
10 03
→ 編程條件檢測routine control?:ECU升級條件的判斷,如車速,檢測車的型號
31 01 02 03
→ 關閉DTC檢測,(由于很多節點收不到其它節點的報文后會記錄DTC故障)功能尋址
85 02
→ 關閉診斷通訊(禁止各個節點的應用報文發送,網絡管理報文發送)功能尋址
28 03 01

  • 2:編程中

→ 進入編程會話
10 02 單片機重啟(進入Boot),重啟后相應 50 20

→ 解鎖 安全訪問
27 11 等級11 (seed)
27 12 發送KEY

→ 寫入指紋信息
2E F1 84 XX XX XX(寫入的參數 年月日)

? 下載內存驅動 Flashdrive
1,請求下載 34 大小 內存地址
2,發送數據 36
3,請求退出 37
4,CRC校驗 31 01 CRC

→ 擦除單片機內存 31 01 FF 00
→ 請求下載 34? 大小 內存地址
→ 發送數據 36
→ 請求退出 37
→ 一致性校驗 31 01 FF 01

在“編程”階段,首先進入編程會話模式,然后進行安全訪問,下載應用程序對應的指令數據。
通過執行被復制到指定RAM空間中的Flash驅動程序,擦除并燒寫應用程序Flash數據。
應用程序數據下載并燒寫完成后,對數據進行校驗,校驗通過后,在數據Flash中存儲“應用程
序有效標志”

  • 3 編程后

→11 01 硬件復位
→28 00 01 使能通訊? ?功能尋址
→85 01 使能DTC? 功能尋址

在“編程后”階段,首先進入擴展會話模式,然后通過功能尋址的UDS服務恢復各個節點的
應用報文發送、網絡管理報文發送,然后恢復各個節點的DTC檢測

?

  • Boot 前的準備? ----? MCU中具體的處理

接收到10 02 進入編程會話

MCU 關閉外狗(防止單片機重啟),在RAM的固定地址寫 bootflag=1;

MCU 關閉所有中斷,

MCU 重啟(可以門狗復位,但看門狗復位 RAM是沒有擦除的)

-----------------------------------------------------------------------------------------

MCU 重啟后 ----- main函數,3種情況

1> 進入Bootloader程序

if bootflag == 1 外部請求進入Boot段,響應 10 02 的報文

g_u8StayInBootFlag = (*(__far uint8_t*)(0xffe19)); // 讀取RAM中的值 if(g_u8StayInBootFlag == PROGRAM_REQUESTED_FLAG) {DiagnosticInit();Diagnostic_1002_Response();BootLoaderLoop(); }

? ? ?Boot完成后, 在Flash中寫 AA 55 AA 55 說明擦寫成功 寫bootflag =0;?

2> Bootloader 擦寫不成功

若 讀取固定地址 ROM數據,若沒有 AA 55 AA 55 ,證明APP段刷寫不成功,需要重新刷寫

EEProm_Read(APP_VALID_ADDRESS, FLAG_SIZE, AppValid); if(AppValid != APP_VALID) {DiagnosticInit();BootLoaderLoop(); }

3> Bootloader 成功

?if bootflag == 0 ,直接跳到APP段,執行程序

JumpAppFunc = *((void(*)(void))(0X04000));//程序跳到4000的位置

?

?

?

總結

以上是生活随笔為你收集整理的汽车Bootloader流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。