色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FlexCAN OTA簡(jiǎn)介

靈動(dòng)MM32MCU ? 來(lái)源:靈動(dòng)MM32MCU ? 2023-02-24 11:36 ? 次閱讀

1簡(jiǎn)介

FlexCAN OTA 是由靈動(dòng)提供的一種基于 UDS 協(xié)議使用 CAN 總線實(shí)現(xiàn)對(duì) MCU 的 App 固件更新的解決方案。該解決方案的軟件部分主要由:Bootloader、App和PC Tool三部分構(gòu)成,硬件部分如圖 1 所示。

d40f612c-b364-11ed-bfe3-dac502259ad0.png

圖 1 MCU 與 PC 機(jī)交互示意圖

1.1 關(guān)鍵特性

基于 UDS(ISO14229) 標(biāo)準(zhǔn)

基于 CAN(ISO11891-1) 標(biāo)準(zhǔn)

具備對(duì) App 固件 CRC 完整性校驗(yàn)功能

使用主機(jī)上傳 Flash driver 到 MCU

在 Bootloader 中進(jìn)行 App 有效性檢查

提供用于驗(yàn)證 App 固件更新的 PC 端上位機(jī)工具

1.2 什么是 FlexCAN ?

CAN 是控制器域網(wǎng) (Controller Area Network, CAN) 的簡(jiǎn)稱,是一種功能豐富的車(chē)用總線標(biāo)準(zhǔn),被設(shè)計(jì)用于在不需要主機(jī)(Host)的情況下,允許網(wǎng)絡(luò)上的單芯片和儀器相互通信。是由研發(fā)和生產(chǎn)汽車(chē)電子產(chǎn)品著稱的德國(guó) BOSCH 公司開(kāi)發(fā),并最終成為國(guó)際標(biāo)準(zhǔn)(ISO11898),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。

FlexCAN 是 CAN 協(xié)議的一個(gè)高完成度版本。以靈動(dòng) MM32F0140 系列 MCU 內(nèi)嵌的 FlexCAN 為例,其符合 ISO 11898-1 標(biāo)準(zhǔn),支持 CAN 2.0B 版本協(xié)議,位速率高達(dá) 1 Mbps,具有非常靈活的用于傳輸和接收的郵箱系統(tǒng),可以接收和發(fā)送 11 位標(biāo)識(shí)符的標(biāo)準(zhǔn)幀,也可以接收和發(fā)送 29 位標(biāo)識(shí)符的擴(kuò)展幀,主要被設(shè)計(jì)用作車(chē)載串行總線,可滿足實(shí)時(shí)處理、車(chē)輛在電磁干擾環(huán)境下的可靠操作、成本效益、帶寬等要求。

1.3 什么是 UDS ?

UDS(Unified Diagnostic Services,統(tǒng)一診斷服務(wù))是一種用于汽車(chē)電子控制器 ECU (Electronic Control Units) 環(huán)境下的一種診斷通信協(xié)議,可實(shí)現(xiàn)診斷、固件更新、日常測(cè)試等功能,在 ISO 14229 中規(guī)定了其實(shí)現(xiàn)標(biāo)準(zhǔn)。

在本實(shí)例中,UDS 通信是在客戶端-服務(wù)端關(guān)系中執(zhí)行的。客戶端是上位機(jī)下載軟件運(yùn)行于 PC 機(jī),服務(wù)端是帶有FlexCAN IP模塊的 MM32 MCU。例如,將 CAN 總線接口連接到 MCU,并將 UDS 請(qǐng)求發(fā)送到 MCU。當(dāng) MCU 支持 UDS 服務(wù)時(shí),它將根據(jù)客戶端發(fā)出的請(qǐng)求做出相應(yīng)的響應(yīng)。

1.4 為什么用 Bootloader ?

對(duì)于 MCU 而言,如果程序內(nèi)置有基于FlexCAN 的 Bootloader,則每次更新 MCU 的固件則不需要拆開(kāi)外殼也不必再使用燒錄器進(jìn)行燒錄,而可直接通過(guò) CAN 總線來(lái)更新程序,這樣更方便也更安全,而且隨著智能化的普及,甚至可以對(duì) MCU 進(jìn)行遠(yuǎn)程升級(jí)。Bootloader 程序結(jié)構(gòu)對(duì)比如圖 2 所示:

d43784ae-b364-11ed-bfe3-dac502259ad0.jpg

圖 2 程序結(jié)構(gòu)對(duì)比框圖

1.5 為什么基于 UDS ?

為了規(guī)范 Bootloader 的全過(guò)程,通過(guò)使用成熟的平臺(tái)進(jìn)而提供高質(zhì)量 Bootloader。因 UDS 在設(shè)計(jì)時(shí)考慮了 Bootloader 的需求,并為 Bootloader 提供了相關(guān)服務(wù)以供使用,比如診斷會(huì)話控制、ECU 重置、讀取數(shù)據(jù)、請(qǐng)求下載、傳輸數(shù)據(jù)、請(qǐng)求傳輸退出等,可以實(shí)現(xiàn)更高效和可靠的刷寫(xiě)功能。故主機(jī)廠普遍會(huì)要求在 UDS 規(guī)范的基礎(chǔ)上完成 Bootloader 功能。

1.6 用到了哪些 UDS 服務(wù)?

在 Bootloader 中,使用到 UDS 的 $10、$11、$27 和 $3E 基礎(chǔ)診斷服務(wù),$22、$2E 讀寫(xiě) DID 服務(wù),$31、$34、$36 和 $37 固件數(shù)據(jù)傳輸相關(guān)服務(wù)。UDS 服務(wù)概覽如表 1-1 所示:

表 1-1

d45c8b96-b364-11ed-bfe3-dac502259ad0.jpg

2Bootloader

Bootloader 是一段允許在不使用燒錄器的情況下更新App固件的代碼,基于靈動(dòng) MindSDK 實(shí)現(xiàn)的 Bootloader 樣例工程支持 MDK、IAR 和 ARMGCC 三種工具鏈進(jìn)行開(kāi)發(fā)。在實(shí)際的使用過(guò)程中只需要在第一次使用時(shí)通過(guò)燒錄器將 Bootloader 燒錄進(jìn) MCU,后續(xù)的 App 都可以通過(guò)使用基于 CAN 總線的 UDS協(xié)議完成固件更新。

2.1 Bootloader 功能特性

支持 Service 27,用戶可根據(jù)自身需求添加安全訪問(wèn)算法。

支持 Service 22 和 Service 2E,用戶可以根據(jù)自身需求添加策略,進(jìn)行信息讀出與存儲(chǔ)。

外置 Flash driver,使用時(shí)通過(guò)外部 PC 或后臺(tái)將 Flash driver 加載到 MCU 的 RAM 中進(jìn)行安全的 Flash 擦寫(xiě)操作。

提供看門(mén)狗監(jiān)控功能,用戶可根據(jù)自身需求選擇性開(kāi)啟看門(mén)狗監(jiān)控程序。

2.2 客制化修改說(shuō)明

修改診斷 ID

可在樣例工程的 board/FblHalCan.h 中修改診斷 ID 的值。

指定數(shù)據(jù)填充值

當(dāng)需要發(fā)送的數(shù)據(jù)長(zhǎng)度不滿足 8 字節(jié)長(zhǎng)度時(shí),通過(guò)宏定義可以更改填充,用戶可以在樣例工程的 board/FblHalCan.h 中指定填充值。

使能看門(mén)狗

用戶可以在樣例工程的 board/FblMacros.h 中打開(kāi)宏開(kāi)關(guān) WDG_ENABLE 使能看門(mén)狗服務(wù),并且實(shí)現(xiàn) ResetWdg 操作。

安全訪問(wèn)算法接口

Bootloader中支持 27 Service,用戶可在樣例工程的 board/FblMacros.h 中使能宏開(kāi)關(guān) ENABLE_SECURITY_ALGORITHM_VERIFICATION 根據(jù)自身需求添加安全訪問(wèn)算法。

2.3 Flash driver 介紹

什么是Flash driver?

在OTA程序升級(jí)過(guò)程中,發(fā)送App可執(zhí)行文件之前,向底層先發(fā)送一段二進(jìn)制文件,這段代碼實(shí)現(xiàn)了對(duì)MCU片內(nèi) Flash 的擦寫(xiě)功能,稱為 Flash driver。

Flash driver存在的意義

在車(chē)載ECU控制器中,為了安全考慮,會(huì)盡可能的避免在代碼中固化有對(duì)flash進(jìn)行擦寫(xiě)操作,主要為了避免在程序跑飛時(shí)誤調(diào)用該部分代碼,使軟件代碼部分受到破壞。

Flash driver的實(shí)現(xiàn)方式

a. 將flash driver固化在底層flash中,在運(yùn)行的時(shí)候?qū)lash中的flash driver拷貝到ram中來(lái)運(yùn)行,這是比較傳統(tǒng)的方式,但是避免不了提到的安全性問(wèn)題。

b. 將flash driver這段代碼保存在PC端或后臺(tái),在每次執(zhí)行OTA升級(jí)前,將這段代碼先發(fā)送給MCU,這樣可以避免方式 a 中提到的安全性問(wèn)題。

3App

基于靈動(dòng) MindSDK 提供的 flexcan_ota_app 樣例工程進(jìn)行開(kāi)發(fā)和生成用于更新的 HEX 格式 App 固件生成,無(wú)需任何適配操作即可生成用于 OTA 升級(jí)的 App 固件。

3.1 使用說(shuō)明

將 Bootloader 通過(guò)下載器下載到 MCU 中后,可通過(guò)提供的 PC Tool 來(lái)刷寫(xiě)生成的固件,通過(guò) PC Tool 下載成功后,一方面 PC 終端會(huì)有下載成功提示,另一方面也可以查看開(kāi)發(fā)板上對(duì)應(yīng)固件實(shí)現(xiàn)的功能是否開(kāi)始執(zhí)行。

關(guān)于 App 固件可從提供的 flexcan_ota_app 樣例工程編譯源碼并將生成“.hex”格式的 App 固件進(jìn)行加載。

3.2 App 設(shè)計(jì)規(guī)范

App 與 Bootloader 存放在 MCU 的同一塊 Flash 的兩個(gè)不同區(qū)域中,為保證兩個(gè)軟件的正常使用,App 設(shè)計(jì)遵循表 2-1 和表 2-2 所述規(guī)范。

表 2-1

d49e3622-b364-11ed-bfe3-dac502259ad0.png

表 2-2

d4bfee3e-b364-11ed-bfe3-dac502259ad0.png

4PC Tool

Flexcan OTA PC Tool 是用于驗(yàn)證靈動(dòng) MindSDK 中提供的 FlexCAN OTA 解決方案的簡(jiǎn)易 PC 端上位機(jī)工具。

4.1 功能特性

支持 CAN 通信速率自定義

支持 Win10 操作系統(tǒng)下運(yùn)行

支持默認(rèn)參數(shù)直接運(yùn)行和命令行下帶參數(shù)運(yùn)行

支持直接加載 MDK 和 IAR 工具鏈下生成的 HEX 格式文件

基于 Python 使用 python-udsoncan 開(kāi)發(fā),可根據(jù)不同需求靈活進(jìn)行二次開(kāi)發(fā)

4.2 開(kāi)發(fā)環(huán)境

本工具在 Win10 平臺(tái)使用 Python 進(jìn)行開(kāi)發(fā),基于 UDS 使用 CAN 協(xié)議,支持 PEAK CAN卡與 MCU 進(jìn)行通訊。

4.3 使用說(shuō)明

請(qǐng)按照如下步驟進(jìn)行操作:

a下載 Bootloader 到 MCU

將提供的 flexcan_ota_bootloader 樣例工程編譯并下載到開(kāi)發(fā)板中。

b安裝 CAN 卡驅(qū)動(dòng)并連接 MCU

在這里我們用到的是PCAN-USB,下載并安裝驅(qū)動(dòng)(https://peak-system.com.cn/driver/) ,并將 PCAN-USB 和開(kāi)發(fā)板上的 CAN 收發(fā)器通過(guò)雙絞線連接以及通過(guò) USB 和 PC 機(jī)連接。

c運(yùn)行 FlexCAN OTA PC Tool

方式一:按照默認(rèn)參數(shù)直接運(yùn)行

直接雙擊 flexcan_ota_pc_tool_v1.0.exe,如圖 3 所示,默認(rèn)將按照 500Kbps 的比特率進(jìn)行 CAN 通信,F(xiàn)lash_driver 文件的加載地址為當(dāng)前路徑下的文件(./flash_driver.hex), App 文件的加載路徑為當(dāng)前路徑下文件(./app.hex)。

d4d0d28a-b364-11ed-bfe3-dac502259ad0.jpg

圖 3

方式二:按照指定參數(shù)運(yùn)行

在 Win10 平臺(tái)下啟動(dòng)命令行窗口并切換到當(dāng)前路徑下,獲取幫助如圖4所示,輸入如下指令并按回車(chē)鍵:

flexcan_ota_pc_tool_v1.0.exe-h

d509b50a-b364-11ed-bfe3-dac502259ad0.jpg

圖 4

按照指定參數(shù)運(yùn)行如圖 5 所示,輸入如下指令并按回車(chē)鍵:

flexcan_ota_pc_tool_v1.0.exe-b500000-f"./flash_driver.hex"-a"./app.hex"

其中 flash_driver.hex 文件為用于安全地擦寫(xiě)片內(nèi) flash 的代碼,在每次 OTA 更新中復(fù)用即可。

d52c5592-b364-11ed-bfe3-dac502259ad0.jpg

圖 5

d結(jié)束

等待 FlexCAN OTA 固件更新流程結(jié)束,并按任意按鍵退出。

5注意事項(xiàng)

FlexCAN OTA Tool 為用于驗(yàn)證基于 UDS 使用 CAN 協(xié)議進(jìn)行 App 固件更新的上位機(jī)工具,PC 端使用 PEAK-CAN 與 MCU 通訊,僅支持在 Win 10 操作系統(tǒng)下運(yùn)行, 且用于功能性驗(yàn)證,若遇到軟件閃退等問(wèn)題請(qǐng)重啟該軟件并復(fù)位 MCU。該工具可根據(jù)開(kāi)發(fā)者項(xiàng)目需求進(jìn)行二次開(kāi)發(fā)。

以上介紹是基于MM32F0140 系列 MCU 進(jìn)行介紹和示例演示,相關(guān)源碼請(qǐng)?jiān)L問(wèn)靈動(dòng)官網(wǎng)進(jìn)行獲取:

01進(jìn)入靈動(dòng)官網(wǎng)

02打開(kāi)“產(chǎn)品”菜單下 MM32F0140 頁(yè)面,瀏覽“文檔”列表。

d5450cc2-b364-11ed-bfe3-dac502259ad0.png

03在“應(yīng)用筆記”中下載“AN0035_FlexCAN_OTA”文檔,獲取源碼。

d55f8336-b364-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17307

    瀏覽量

    352179
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2764

    瀏覽量

    464112
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2899

    瀏覽量

    88273
  • OTA
    OTA
    +關(guān)注

    關(guān)注

    7

    文章

    586

    瀏覽量

    35334
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    235

    瀏覽量

    45680

原文標(biāo)題:靈動(dòng)微課堂 (第244講)|FlexCAN OTA

文章出處:【微信號(hào):MindMotion-MMCU,微信公眾號(hào):靈動(dòng)MM32MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SPC560Dxx FlexCAN傳輸錯(cuò)誤

    我正在使用SPC560D-DIS Discovery板進(jìn)行開(kāi)發(fā)和SPC5工作室。 我已經(jīng)為FlexCAN測(cè)試導(dǎo)入了測(cè)試應(yīng)用程序'SPC560Dxx OS-Less CAN Test
    發(fā)表于 11-22 10:36

    FlexCAN不起作用

    嗨, 我正在使用spc5_studio測(cè)試SPC560P50L5,FlexCAN的內(nèi)置示例是環(huán)回測(cè)試。當(dāng)我禁用環(huán)回并啟用管理程序模式時(shí),CAN_TXD引腳上沒(méi)有任何內(nèi)容。我不知道這個(gè)問(wèn)題,我需要
    發(fā)表于 04-02 11:51

    嵌入式OTA升級(jí)實(shí)現(xiàn)原理是什么

    目錄一、簡(jiǎn)介1.1 概念1.2 優(yōu)點(diǎn)1.3 實(shí)現(xiàn)原理二、MCU OTA升級(jí)2.1 制作升級(jí)包2.2 下載升級(jí)包2.3 驗(yàn)簽升級(jí)包2.4 更新固件三、Linux OTA升級(jí)3.1 系統(tǒng)升級(jí)3.2
    發(fā)表于 12-14 07:24

    MQX FlexCAN FIFO消息接收延遲怎么解決?

    我正在使用 MQX FlexCAN FIFO 接收機(jī)制。除了消息接收延遲外,它工作正常。當(dāng)收到第一個(gè) CAN 報(bào)文時(shí),F(xiàn)IFO 的輸出是一條僅包含零的報(bào)文。消息 2-5 也是??如此。當(dāng)接收到第 6
    發(fā)表于 03-16 08:07

    如何使用FlexCan中斷接收S32R45上的數(shù)據(jù)?

    flexCan 演示使用輪詢來(lái)接收數(shù)據(jù),我想使用 flexCan 中斷。我已啟用 flexCan0 IRQ,并定義了回調(diào)函數(shù)。定義回調(diào)函數(shù)格式(見(jiàn)附件)。但是,它無(wú)法正常工作。第一次可以進(jìn)入這個(gè)函數(shù)
    發(fā)表于 03-20 08:08

    FlexCAN傳輸不工作的原因?

    大家好,我正在嘗試使用 FlexCAN 并在發(fā)送時(shí)遇到問(wèn)題。使用項(xiàng)目示例中的示例 - sk32146 FlexCAN,并使用帶 12 V 電源的硬件 S32K146_EVB 板。從能夠獲取數(shù)據(jù)
    發(fā)表于 03-29 06:54

    CAN為什么叫FlexCAN?有什么不同?

    CAN為什么叫FlexCAN?有什么不同?
    發(fā)表于 04-06 07:19

    中國(guó)電信OTA卡業(yè)務(wù)

    中國(guó)電信OTA卡業(yè)務(wù) 一、業(yè)務(wù)簡(jiǎn)介 OTA卡就是增強(qiáng)型的UIM卡,能提供更多的增值業(yè)務(wù)。    目前的
    發(fā)表于 05-21 09:48 ?1.2w次閱讀

    靈動(dòng)MM32F0140:FlexCAN控制器介紹

    1 FlexCAN 簡(jiǎn)介 FlexCAN 控制器局域網(wǎng)模塊是符合 ISO 11898-1 標(biāo)準(zhǔn)和 CAN 2.0B 規(guī)范的通信控制器,支持 CAN 總線協(xié)議。FlexCAN 模塊框圖如
    的頭像 發(fā)表于 05-13 16:42 ?4452次閱讀
    靈動(dòng)MM32F0140:<b class='flag-5'>FlexCAN</b>控制器介紹

    FlexCAN 的基本使用方法及特性

    一直關(guān)注我們靈動(dòng)微課堂的朋友們,想必通過(guò)前面的介紹已經(jīng)掌握了 FlexCAN 的基本使用方法,也能夠在自己的方案中運(yùn)用自如了。今天小編想和大家借助 ZLG 的CAN Scope工具了解我們這顆 MCU 的 CAN 的特性,看看在汽車(chē) ECU 應(yīng)用上它是如何保證通訊的魯棒性。
    的頭像 發(fā)表于 07-22 11:28 ?4720次閱讀

    OTA是什么?OTA升級(jí)有何用?

    ota是什么?ota升級(jí)是什么意思?很多用智能手機(jī)的人應(yīng)該都會(huì)知道 ota是什么 ,而對(duì)于一些剛?cè)腴T(mén)的機(jī)友們,ROOT、刷機(jī)、越獄都比較熟悉,但OTA升級(jí)比較陌生,那么
    的頭像 發(fā)表于 03-15 14:36 ?8306次閱讀

    MindSDK中FlexCAN驅(qū)動(dòng)程序及樣例工程

    前文介紹了FlexCAN外設(shè)模塊,一種典型的CAN總線引擎子系統(tǒng)的工作機(jī)制。那么,用戶在軟件開(kāi)發(fā)平臺(tái)對(duì)CAN總線引擎進(jìn)行編程,需要根據(jù)硬件外設(shè)模塊的功能進(jìn)行建模,將對(duì)CAN總線通信引擎的操作封裝
    的頭像 發(fā)表于 06-23 15:41 ?1300次閱讀
    MindSDK中<b class='flag-5'>FlexCAN</b>驅(qū)動(dòng)程序及樣例工程

    一文淺談FlexCAN OTA

    FlexCAN OTA
    的頭像 發(fā)表于 09-27 16:17 ?918次閱讀
    一文淺談<b class='flag-5'>FlexCAN</b> <b class='flag-5'>OTA</b>

    FlexCAN中文手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《FlexCAN中文手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 06-20 11:14 ?4次下載
    主站蜘蛛池模板: 亚洲AV美女成人网站P站| 男女高潮又爽又黄又无遮挡| 99在线精品免费视频| 亚洲视频区| 亚洲国产精品自在自线观看| 思思久99久女女精品| 日本午夜精品一区二区三区电影| 男女无遮挡吃奶gift动态图| 啦啦啦WWW在线观看免费高清版| 久久99r66热这里只有精品| 好湿好紧水多AAAAA片秀人网| 国产最新进精品视频| 红豆视频免费资源观看| 果冻传媒视频在线播放| 蝴蝶中文综合娱乐网2| 好姑娘BD高清在线观看免费| 果冻传媒免费观看| 久草在线在线精品观看| 久就热视频精品免费99| 美女内射少妇三区五区| 欧美精品亚洲精品日韩专区一| 欧美高清69hd| 日美欧韩一区二去三区| 色欲精品国产AV久久久| 无套内射CHINESEHD| 亚洲精品色婷婷在线蜜芽| 亚洲综合免费视频| 879影视动漫h免费观看| 99久久亚洲综合精品| 仓井空torrent| 国产成人在线播放视频| 国产亚洲精品线观看不卡| 九九99热久久999精品| 玛雅成人网| 青草精品国产福利在线视频| 色婷婷国产精品视频一区二区三区 | 果冻传媒AV精品一区| 色悠久久久久综合欧美99| 99爱免费视频| 欧美极品尿交| jiz在线播放jizijzz|