欧美美乳视频网站在线观看_日韩视频在线免费观看_国产福利一区二区在线观看_久久99日韩_天天看天天干_成人xxxx

400-821-6015
行業(yè)資訊
您當前的位置:首頁 ? 行業(yè)資訊 ? 行業(yè)資訊
內部資訊行業(yè)資訊

一文了解CAN bootloader的實現(xiàn)過程

發(fā)布日期:2023-07-11
 Bootloader 介紹


大多數(shù)Bootloader 包含兩種操作模式。

啟動加載模式

- 下載模式

對于大多數(shù)汽車軟件開發(fā)者來說,從客戶需求的角度,他們更多關心Bootloader的下載模式。

下面我們將從CAN Bootloader的一般需求入手,來介紹一下CAN Bootloader 的整個實現(xiàn)過程。


CAN Bootloader 簡述

通過CAN網絡升級一般需要考慮下面幾個方向。


01 針對單一節(jié)點

     CAN網絡是串行結構,在對節(jié)點升級的時候,不能被別的節(jié)點影響,也不能影響到別的節(jié)點。這里就需要進行點對點升級。在OEM 的規(guī)范中會對每一個ECU 都有自己的診斷ID。一般情況下針對CAN網絡的ECU有。

兩個接收ID

功能尋址ID

- 物理尋址ID


一個發(fā)送ID

診斷發(fā)送ID

這樣可以確保點對點的操作,和其他節(jié)點互相不干擾。


02 節(jié)點的智能設計

       在CAN網絡中實現(xiàn)數(shù)據(jù)更新,最進本的就是master ECU 把數(shù)據(jù)有效的傳輸給Slave ECU, 這樣Slave ECU 對自身的flash 進行操作。在這個過程中需要對數(shù)據(jù)進行一定要求。


  • 保證數(shù)據(jù)傳遞的有效性-->傳輸過程沒有錯誤

  • 保證數(shù)據(jù)本身的真實性--> 未被篡改

  • 保證數(shù)據(jù)發(fā)送方的可靠性-->被授權的ECU

  • 保證數(shù)據(jù)本身的正確性--> 是否與Bootloader 兼容

  • 等等需求

這里對傳輸過程的保證,汽車OEM 一般通過UDS 讓Master ECU 和 Slave 進行交互。通過握手協(xié)議,以及一些routine 來對上面需求進行一一實現(xiàn)。


針對UDS 這里不一一介紹,可以翻閱14229 自行查詢。


        

注意這里缺少新版的 0x29 服務。

UDS診斷29認證服務-Authentication Service


03 進入Bootloader 模式

一般來說這里有一下幾種方式

  • APP 主動跳轉至 Bootloader 模式

  • 上電啟動由于Bootloader 檢測APP 失效,主動停留在Bootloader

  • APP 軟件異常,自動復位到Bootloader 模式下。

這里針對OEM 的升級需求,一般是 第一種, APP 主動跳轉至Bootloader 模式。因為Bootloader 不一定都是需要依賴UDS的,這里統(tǒng)一叫Bootloader 模式,OEM 的 UDS 的規(guī)范里面的名稱叫做programming session。

一般來說OEM 會在APP 里面先進行session 跳轉,身份驗證。

最后通過 10 02 命令讓APP 跳轉到Bootloader 模式下。

在我們進行bootloader設計的時候,可以通過任何特定方式,注意這里的特定方式不能是隨隨便便就可以觸發(fā) 的,防止誤觸進入bootloader 模式。

因為跳轉的邏輯是 APP 檢測到一定的條件,然后 對某些寄存器,或者某些Bootloader 可讀的內存空間進行寫flag. 隨后進行reset. 這樣在reset完成之后, bootloader 會檢測到,這次不需要跳轉至APP 了。


04 對bootloader的要求

從實際的研發(fā)需求出發(fā),這里列出了一些常用的需求。實際OEM 的bootloader 可能會細化需求,但是最終都是為了下面的目的提出來的需求。

  • 多次數(shù)據(jù)更新

  • 刷寫速度,傳輸速度

  • 差分更新

  • 身份驗證

  • 數(shù)據(jù)格式的標準化

  • 對數(shù)據(jù)的完整性,有效性等進行校驗

  • 對APP 的有效性進行校驗

  • 上位機方便友好


OEM 對Bootloader 的基本要求

        

在OEM 的需求里,在刷寫過程一般分為三個步驟。

  • 前處理

  • 刷寫

  • 后處理

分別是做什么的呢?

前處理


        

需求各不相同,但是目的基本都一致。


  • 避免其他節(jié)點對升級過程的影響

  • 避免自身節(jié)點對升級過程的影響

  • 避免自身節(jié)點對其他節(jié)點的影響


刷寫

       圖片


通過一系列的UDS 命令進行 點對點 交互。其目的和前面提到的一致。

  • 發(fā)送數(shù)據(jù)的ECU 可靠

  • 數(shù)據(jù)傳輸過程可靠

  • 數(shù)據(jù)有效性(識別有沒有被篡改)

  • 數(shù)據(jù)加密解密數(shù)據(jù)安全

  • 等等


后處理


       圖片

解除自身的特殊狀態(tài)。更新配置參數(shù)等等。

這里面 ECU 需要做好和APP 的相互校驗。需要達到


  • APP 是否有效,Bootloader 需要能判斷出

  • APP 運行時無效,需要能有效進入Bootloader模式。

  • APP 無效, Bootloader 不應該跳入

  • 等等


Bootloader的設計與實現(xiàn)

總結一句話

最基本的Bootloader通過傳輸協(xié)議把數(shù)據(jù)可靠的寫入指定的內存空間

通過上面的分析,總結一下我們需要實現(xiàn)哪些功能。


01 控制器最小系統(tǒng)

     單純運行Bootloader的軟件,這里是不需要os的。只需要一個while(1) + 中斷系統(tǒng)順序執(zhí)行即可。

     本文以Aurix Tricore芯片示例代碼介紹。


     啟動代碼

     

    

     main 函數(shù)

     這里面實現(xiàn)很簡單,只需要判斷是否進入app. 如果不進入app. 就只需要監(jiān)聽通訊接口的數(shù)據(jù),進行相對應的操作即可。

     


02 通訊驅動

這里面采用的是比較簡單的CAN 通訊。

一般來說因為上位機在傳輸數(shù)據(jù)的時候,速度是很快的。我們bootloader里面的CAN 接收需要采用中斷的模式進行收發(fā)。


對于CAN 的參數(shù)配置。

波特率

     

可以根據(jù)芯片手冊的原理進行配置。

       圖片

這里面對于Bootloader來說,比較重要的就是波特率和收發(fā)報文ID 以及中斷模式。

因為這些是需要和上位機進行配合的。


這里給出以下Mcal 代碼初始化CAN時候的形參。可以大概看出需要初始化的內容

     

對于bootloader來說,這里只需要三個接口


初始化,收,發(fā)

     


03 內存驅動

首先看一下內存分配

PFLASH

     圖片

  DFLASH


     圖片


一般來說 被刷的軟件格式是Hex 或S19. 針對這兩種格式就不說了。


code 和 data 可以根據(jù)主機廠需求分為兩個或多個Hex.

所以這里需要對Pflash 和 DFlash 都進行操作。

需要注意的是兩個不同的flash 操作的 扇區(qū)大小是不一樣的。Mcal提供的接口已經做了相對應的處理。

對于bootloader來說,需要的接口 擦除 和 寫入。

     

 

      


04 額外需求庫

這里比如需要對數(shù)據(jù)進行CRC 校驗

需要對數(shù)據(jù)包進行數(shù)據(jù)解密用到的加密算法

等等


05 交互邏輯 上層應用

根據(jù)具體的OEM 需求實現(xiàn)的功能。比如說。配置參數(shù)的交換,與APP軟件的有效位相互校驗,等等需求。這里無法給出對應代碼。

總結 一張圖

        圖片


轉自汽車電子與軟件

上海創(chuàng)程車聯(lián)網絡科技有限公司版權所有 滬ICP備11045498號-1   技術支持:網站建設
主站蜘蛛池模板: 国产一区中文字幕在线观看 | 色一色综合| 色综合天天综合欧美综合 | 麻豆精产国品一二三产区区免费 | 亚洲激情专区 | 欧美xxxxxxxxx| 激情开心网站 | 欧美一区二区美女 | av黄色在线看 | 日批视频免费 | 97dyy影院理论片 | 国产精品av久久久久久网站 | 野外树林老汉xxxhd | 亚洲在线成人 | 国产精品久久欧美日韩 | 不卡的中文字幕 | 国产99精品在线观看 | 在线观看的a站 | 一级大黄毛片免费观看 | 日韩在线精品强乱中文字幕 | 自拍av在线| 亚洲综合福利 | 国产aaaaav久久久一区二区 | 国产女主播高潮在线播放 | 国产免费观看a大片的网站 精品国内二区三区 | 美女视频黄又黄又免费高清 | 日本ww色| 亚洲欧美自拍制服日韩一区 | 亚洲精品lv | 免费涩涩18网站入口 | 好男人香蕉影院 | 天天在线天天干 | 成人毛片免费在线 | 办公室揉弄高潮嗯啊免费视频 | 第一区高清国语在线观看 | 直接观看黄网站免费视频 | 欧美激情一区二区三区在线观看 | 国产奶水一区二区三区 | 911精产国品一二三区在线观看 | 欧美精品momssexxxx | 国产精品一区二区三区四区 |