全职猎人1999_日韩综合社区_久草播放_黄色a一级一级一级免费看_午夜在线视频一区二区三区_国产日韩精品SUV

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

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

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


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

啟動(dòng)加載模式

- 下載模式

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

下面我們將從CAN Bootloader的一般需求入手,來(lái)介紹一下CAN Bootloader 的整個(gè)實(shí)現(xiàn)過(guò)程。


CAN Bootloader 簡(jiǎn)述

通過(guò)CAN網(wǎng)絡(luò)升級(jí)一般需要考慮下面幾個(gè)方向。


01 針對(duì)單一節(jié)點(diǎn)

     CAN網(wǎng)絡(luò)是串行結(jié)構(gòu),在對(duì)節(jié)點(diǎn)升級(jí)的時(shí)候,不能被別的節(jié)點(diǎn)影響,也不能影響到別的節(jié)點(diǎn)。這里就需要進(jìn)行點(diǎn)對(duì)點(diǎn)升級(jí)。在OEM 的規(guī)范中會(huì)對(duì)每一個(gè)ECU 都有自己的診斷ID。一般情況下針對(duì)CAN網(wǎng)絡(luò)的ECU有。

兩個(gè)接收ID

功能尋址ID

- 物理尋址ID


一個(gè)發(fā)送ID

診斷發(fā)送ID

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


02 節(jié)點(diǎn)的智能設(shè)計(jì)

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


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

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

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

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

  • 等等需求

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


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


        

注意這里缺少新版的 0x29 服務(wù)。

UDS診斷29認(rèn)證服務(wù)-Authentication Service


03 進(jìn)入Bootloader 模式

一般來(lái)說(shuō)這里有一下幾種方式

  • APP 主動(dòng)跳轉(zhuǎn)至 Bootloader 模式

  • 上電啟動(dòng)由于Bootloader 檢測(cè)APP 失效,主動(dòng)停留在Bootloader

  • APP 軟件異常,自動(dòng)復(fù)位到Bootloader 模式下。

這里針對(duì)OEM 的升級(jí)需求,一般是 第一種, APP 主動(dòng)跳轉(zhuǎn)至Bootloader 模式。因?yàn)锽ootloader 不一定都是需要依賴UDS的,這里統(tǒng)一叫Bootloader 模式,OEM 的 UDS 的規(guī)范里面的名稱叫做programming session。

一般來(lái)說(shuō)OEM 會(huì)在APP 里面先進(jìn)行session 跳轉(zhuǎn),身份驗(yàn)證。

最后通過(guò) 10 02 命令讓APP 跳轉(zhuǎn)到Bootloader 模式下。

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

因?yàn)樘D(zhuǎn)的邏輯是 APP 檢測(cè)到一定的條件,然后 對(duì)某些寄存器,或者某些Bootloader 可讀的內(nèi)存空間進(jìn)行寫flag. 隨后進(jìn)行reset. 這樣在reset完成之后, bootloader 會(huì)檢測(cè)到,這次不需要跳轉(zhuǎn)至APP 了。


04 對(duì)bootloader的要求

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

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

  • 刷寫速度,傳輸速度

  • 差分更新

  • 身份驗(yàn)證

  • 數(shù)據(jù)格式的標(biāo)準(zhǔn)化

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

  • 對(duì)APP 的有效性進(jìn)行校驗(yàn)

  • 上位機(jī)方便友好


OEM 對(duì)Bootloader 的基本要求

        

在OEM 的需求里,在刷寫過(guò)程一般分為三個(gè)步驟。

  • 前處理

  • 刷寫

  • 后處理

分別是做什么的呢?

前處理


        

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


  • 避免其他節(jié)點(diǎn)對(duì)升級(jí)過(guò)程的影響

  • 避免自身節(jié)點(diǎn)對(duì)升級(jí)過(guò)程的影響

  • 避免自身節(jié)點(diǎn)對(duì)其他節(jié)點(diǎn)的影響


刷寫

       圖片


通過(guò)一系列的UDS 命令進(jìn)行 點(diǎn)對(duì)點(diǎn) 交互。其目的和前面提到的一致。

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

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

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

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

  • 等等


后處理


       圖片

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

這里面 ECU 需要做好和APP 的相互校驗(yàn)。需要達(dá)到


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

  • APP 運(yùn)行時(shí)無(wú)效,需要能有效進(jìn)入Bootloader模式。

  • APP 無(wú)效, Bootloader 不應(yīng)該跳入

  • 等等


Bootloader的設(shè)計(jì)與實(shí)現(xiàn)

總結(jié)一句話

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

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


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

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

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


     啟動(dòng)代碼

     

    

     main 函數(shù)

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

     


02 通訊驅(qū)動(dòng)

這里面采用的是比較簡(jiǎn)單的CAN 通訊。

一般來(lái)說(shuō)因?yàn)樯衔粰C(jī)在傳輸數(shù)據(jù)的時(shí)候,速度是很快的。我們bootloader里面的CAN 接收需要采用中斷的模式進(jìn)行收發(fā)。


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

波特率

     

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

       圖片

這里面對(duì)于Bootloader來(lái)說(shuō),比較重要的就是波特率和收發(fā)報(bào)文ID 以及中斷模式。

因?yàn)檫@些是需要和上位機(jī)進(jìn)行配合的。


這里給出以下Mcal 代碼初始化CAN時(shí)候的形參。可以大概看出需要初始化的內(nèi)容

     

對(duì)于bootloader來(lái)說(shuō),這里只需要三個(gè)接口


初始化,收,發(fā)

     


03 內(nèi)存驅(qū)動(dòng)

首先看一下內(nèi)存分配

PFLASH

     圖片

  DFLASH


     圖片


一般來(lái)說(shuō) 被刷的軟件格式是Hex 或S19. 針對(duì)這兩種格式就不說(shuō)了。


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

所以這里需要對(duì)Pflash 和 DFlash 都進(jìn)行操作。

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

對(duì)于bootloader來(lái)說(shuō),需要的接口 擦除 和 寫入。

     

 

      


04 額外需求庫(kù)

這里比如需要對(duì)數(shù)據(jù)進(jìn)行CRC 校驗(yàn)

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

等等


05 交互邏輯 上層應(yīng)用

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

總結(jié) 一張圖

        圖片


轉(zhuǎn)自汽車電子與軟件

上海創(chuàng)程車聯(lián)網(wǎng)絡(luò)科技有限公司版權(quán)所有 滬ICP備11045498號(hào)-1   技術(shù)支持:網(wǎng)站建設(shè)
主站蜘蛛池模板: 1级黄色毛片|福利久久久|欧美又爽又大又黄=a片|国产精品拍自在线|中文字幕在线观看亚洲|国产日韩视频在线 | 色综合久久综合中文综合网|午夜福利国产在线观看1|毛片免费视频观看|黑人把女人弄到高潮视频|www.国产精品视频|免费色网 | 男人视频在线观看|青青青草国产|国产成=a人亚洲精v品无码性色|91深夜|国产chinese精品露脸|日日日日做夜夜夜夜做无码 | 99视频一区|久久久国产精品入口麻豆|中文字幕免费在线播放|少妇又紧又粗又爽的视频|日韩精品在线免费观看|欧美一性一交一乱 | ch=aopeng在线观看|成人综合区一区|#NAME?|无遮挡又色又刺激的女人视频|#NAME?|日韩精品乱码=av一区二区 | 中文字幕在线观看视频www|在线视频网站WWW色|91啦国产|国产社区精品视频|91毛片免费观看|国产一区二区黑人欧美xxxx | 爱操=av|亚洲欧美人成视频一区在线|女同性爽爽爽免费观看|久久久久亚洲国产精品|熟女精品视频一区二区三区|极品新婚夜少妇真紧 | 婷婷综合缴情亚洲狠狠|日日夜夜操视频|三级在线中文字幕|日本精品免费在线观看|日产国产亚洲精品系列|国产高欧美性情一线在线 | 国产操人视频|大尺度无遮挡激烈床震老领导小说|亚洲熟妇色XXXXX亚洲|800=av.com我要打飞机|中文高清=av|91在线看=a | j=ap=anese护士高潮|12裸体自慰免费观看网站|免费=a一毛片|欧美人禽zozo动人物杂交|h动漫在线女生向在线精品|狠狠躁夜夜躁人人爽天天2020 | 国产成人18黄网站免费观看|日韩国产一区二|亚洲天堂自拍偷拍|性做爰片免费视频毛片中文|天天精品视频免费|黄色毛片免费 | 91=av爱爱|黄频视频大全免费的国产|日本亚洲一区二区|c=aoporn超碰地址进入|黄色在线免费观看视频|精品国产乱码久久久久久芒果 | 欧美特一级片|午夜肉伦伦影院无码|色18亚洲美女|亚洲成人黄网|山村少妇肉系列1一7|天堂8在线新版官网 | 亚洲第一二区|国产高清乱理伦片中文|久久99精品久久久久久9|热久久网|成人精品视频免费|国产在线拍揄自揄视频不卡99 | 在线看无码的免费网站|一本久道久久综合婷婷鲸鱼|九九爱在线视频观看免费视频|少妇久久久久久久久久|91视频免费网址|青青草自拍偷拍 | 一级影片在线观看|亚洲精品久久久久9999吃药|免费毛片wwwcomcn|91一级片|超碰人人精品|GOGO亚洲肉体艺术 | #NAME?|欧美暖暖视频|91国内在线|毛多水多www偷窥小便|人妻无码人妻有码中文字幕|少妇人妻精品一区二区三区 | chin=a熟妇老熟女hd|精品国产国产综合精品|成人亚洲精品777777ww|欧美日本一道本在线视频|欧美肥屁videossex精品|高潮毛片无遮挡高清免费视频 | 亚洲人成网站在线播放小说|亚洲国产精品尤物yw在线观看|韩国一级影院|天天综合操|亚洲欧洲精品一区|#NAME? | 精品成人免费一区二区三区|亚洲专区在线|欧美裸体xxxx极品少妇软件|欧洲vi一区二区三区|免费激情网站|久久久青 | 女明星一级毛片|国产精品成人v=a|久久天天躁狠狠躁夜夜躁2012|久热这里只有精|国产黄大片在线观看|国产成人在线播放视频 | 成人一区在线视频|成人一区二区在线播放|新婚少妇毛茸茸的性|永久免费黄色大片|欧美精品一区在线观看|国产情侣久久久久=aⅤ免费 | 国产这里只有|斗罗之斗淫大陆h污文小舞白丝|真人做爰高潮全过程免费视看|久久丁香|777色情在线无码|91九色视频在线播放 | 国产suv一区二区|#NAME?|日韩精品网|亚洲国产第一|#NAME?|色中色=av | 欧美一区二不卡视频|片多多免费观看|成人午夜精品无码一区二区三区|国产目拍亚洲精品二区|午夜婷婷|伊人春色在线观看 | 日本公交车上xxxxhd少妇|五月开心六月伊人色婷婷|97国产suv精品一区二区62|久久99精品久久久久久久清纯|精品国产欧美日韩|黄色网页入口 | 亚洲精品成人|疯狂做受XXXX欧美老人|亚洲精品视频在线观看免费|亚洲一区二区三区在线播放|在线日韩欧美|东京热无码人妻系列综合网站 | 国产精品九九九九九九九|我征服了仪态端庄的物理老师|最新中文字幕在线|久久成人啪啪性教育|#NAME?|欧美大香线蕉线伊人久久 | 在线看无码的免费网站|一本久道久久综合婷婷鲸鱼|九九爱在线视频观看免费视频|少妇久久久久久久久久|91视频免费网址|青青草自拍偷拍 | 精品乱久久|www亚洲成人|麻豆91爱爱|99日韩精品|免费看日韩大片|国产精品视频一区视频二区 | 7777欧美成是人在线观看|无码=aV中文一区二区三区桃花岛|日本精品久久久久久久久久|一级做=a爰片|成人综合一区二区|99热热精品 | 69xxxx国产|一级一片|久久久久97|亚洲日本v=a午夜中文字幕|狠狠干伊人网|国产人妻精品区一区二区三区 | #NAME?|日韩三区在线观看|三级一区|绝顶潮喷绝叫在线观看|粉嫩欧美一区二区三区|国产成人=aV无码永久免费一线天 | 福利综合网|成年人网站黄色|欧美大陆国产|日韩视频在线免费|精品国产一区二区三区久久久久久|奇米超碰在线 | 国产精彩免费视频|国产91亚洲精品一区二区三区|特黄男女交性=a片激情视频|日韩精品一二三四|www毛片|wwwxxxxx国产 | 77777五月色婷婷丁香视频|亚洲精品国产偷五月丁香小说|国产一级黄色大片|亚洲成色777777在线观看影院|四虎成人网|四虎院影亚洲永久 | 中国女人FREEXXXXXXX|一色一伦一区二区三区的区别|亚洲αⅴ无码乱码在线观看性色|怡春院综合|精品人妻无码一区二区三区百度|国产精品wwwwww | WWW免费视频在线观看播放|欧美日本一道本一区二区|999在线精品视频|国产十日韩十欧美|天堂网中文字幕在线观看|日韩一二三四 | 日韩亚洲欧美中文字幕|国产精品久久久久久亚洲调教|5060网永久免费=a级毛片|人妻少妇久久久久久97人妻|国产成人无码=a区视频在线观看|欧美理论视频 | 久久福利精品|亚洲日韩精品=aV无码麻豆|粗大挺进尤物人妻中文字幕|成人不卡一区二区|九九爱爱视频|#NAME? | 日韩在线永久免费播放|动漫无遮羞肉体在线观看免费|国产色情精品一区二区|在线亚洲综合欧美网站首页|69精品久久久久久久|日韩区国产区 国精产品999一区二区三区有限|日韩毛片|成人免费看片又大又黄|麻豆出品视频在线|4438全国成人免费|青草视频精品 |