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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FlexCAN OTA簡介

靈動MM32MCU ? 來源:靈動MM32MCU ? 2023-02-24 11:36 ? 次閱讀

1簡介

FlexCAN OTA 是由靈動提供的一種基于 UDS 協議使用 CAN 總線實現對 MCU 的 App 固件更新的解決方案。該解決方案的軟件部分主要由:Bootloader、App和PC Tool三部分構成,硬件部分如圖 1 所示。

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

圖 1 MCU 與 PC 機交互示意圖

1.1 關鍵特性

基于 UDS(ISO14229) 標準

基于 CAN(ISO11891-1) 標準

具備對 App 固件 CRC 完整性校驗功能

使用主機上傳 Flash driver 到 MCU

在 Bootloader 中進行 App 有效性檢查

提供用于驗證 App 固件更新的 PC 端上位機工具

1.2 什么是 FlexCAN ?

CAN 是控制器域網 (Controller Area Network, CAN) 的簡稱,是一種功能豐富的車用總線標準,被設計用于在不需要主機(Host)的情況下,允許網絡上的單芯片和儀器相互通信。是由研發和生產汽車電子產品著稱的德國 BOSCH 公司開發,并最終成為國際標準(ISO11898),是國際上應用最廣泛的現場總線之一。

FlexCAN 是 CAN 協議的一個高完成度版本。以靈動 MM32F0140 系列 MCU 內嵌的 FlexCAN 為例,其符合 ISO 11898-1 標準,支持 CAN 2.0B 版本協議,位速率高達 1 Mbps,具有非常靈活的用于傳輸和接收的郵箱系統,可以接收和發送 11 位標識符的標準幀,也可以接收和發送 29 位標識符的擴展幀,主要被設計用作車載串行總線,可滿足實時處理、車輛在電磁干擾環境下的可靠操作、成本效益、帶寬等要求。

1.3 什么是 UDS ?

UDS(Unified Diagnostic Services,統一診斷服務)是一種用于汽車電子控制器 ECU (Electronic Control Units) 環境下的一種診斷通信協議,可實現診斷、固件更新、日常測試等功能,在 ISO 14229 中規定了其實現標準。

在本實例中,UDS 通信是在客戶端-服務端關系中執行的。客戶端是上位機下載軟件運行于 PC 機,服務端是帶有FlexCAN IP模塊的 MM32 MCU。例如,將 CAN 總線接口連接到 MCU,并將 UDS 請求發送到 MCU。當 MCU 支持 UDS 服務時,它將根據客戶端發出的請求做出相應的響應。

1.4 為什么用 Bootloader ?

對于 MCU 而言,如果程序內置有基于FlexCAN 的 Bootloader,則每次更新 MCU 的固件則不需要拆開外殼也不必再使用燒錄器進行燒錄,而可直接通過 CAN 總線來更新程序,這樣更方便也更安全,而且隨著智能化的普及,甚至可以對 MCU 進行遠程升級。Bootloader 程序結構對比如圖 2 所示:

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

圖 2 程序結構對比框圖

1.5 為什么基于 UDS ?

為了規范 Bootloader 的全過程,通過使用成熟的平臺進而提供高質量 Bootloader。因 UDS 在設計時考慮了 Bootloader 的需求,并為 Bootloader 提供了相關服務以供使用,比如診斷會話控制、ECU 重置、讀取數據、請求下載、傳輸數據、請求傳輸退出等,可以實現更高效和可靠的刷寫功能。故主機廠普遍會要求在 UDS 規范的基礎上完成 Bootloader 功能。

1.6 用到了哪些 UDS 服務?

在 Bootloader 中,使用到 UDS 的 $10、$11、$27 和 $3E 基礎診斷服務,$22、$2E 讀寫 DID 服務,$31、$34、$36 和 $37 固件數據傳輸相關服務。UDS 服務概覽如表 1-1 所示:

表 1-1

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

2Bootloader

Bootloader 是一段允許在不使用燒錄器的情況下更新App固件的代碼,基于靈動 MindSDK 實現的 Bootloader 樣例工程支持 MDK、IAR 和 ARMGCC 三種工具鏈進行開發。在實際的使用過程中只需要在第一次使用時通過燒錄器將 Bootloader 燒錄進 MCU,后續的 App 都可以通過使用基于 CAN 總線的 UDS協議完成固件更新。

2.1 Bootloader 功能特性

支持 Service 27,用戶可根據自身需求添加安全訪問算法。

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

外置 Flash driver,使用時通過外部 PC 或后臺將 Flash driver 加載到 MCU 的 RAM 中進行安全的 Flash 擦寫操作。

提供看門狗監控功能,用戶可根據自身需求選擇性開啟看門狗監控程序。

2.2 客制化修改說明

修改診斷 ID

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

指定數據填充值

當需要發送的數據長度不滿足 8 字節長度時,通過宏定義可以更改填充,用戶可以在樣例工程的 board/FblHalCan.h 中指定填充值。

使能看門狗

用戶可以在樣例工程的 board/FblMacros.h 中打開宏開關 WDG_ENABLE 使能看門狗服務,并且實現 ResetWdg 操作。

安全訪問算法接口

Bootloader中支持 27 Service,用戶可在樣例工程的 board/FblMacros.h 中使能宏開關 ENABLE_SECURITY_ALGORITHM_VERIFICATION 根據自身需求添加安全訪問算法。

2.3 Flash driver 介紹

什么是Flash driver?

在OTA程序升級過程中,發送App可執行文件之前,向底層先發送一段二進制文件,這段代碼實現了對MCU片內 Flash 的擦寫功能,稱為 Flash driver。

Flash driver存在的意義

在車載ECU控制器中,為了安全考慮,會盡可能的避免在代碼中固化有對flash進行擦寫操作,主要為了避免在程序跑飛時誤調用該部分代碼,使軟件代碼部分受到破壞。

Flash driver的實現方式

a. 將flash driver固化在底層flash中,在運行的時候將flash中的flash driver拷貝到ram中來運行,這是比較傳統的方式,但是避免不了提到的安全性問題。

b. 將flash driver這段代碼保存在PC端或后臺,在每次執行OTA升級前,將這段代碼先發送給MCU,這樣可以避免方式 a 中提到的安全性問題。

3App

基于靈動 MindSDK 提供的 flexcan_ota_app 樣例工程進行開發和生成用于更新的 HEX 格式 App 固件生成,無需任何適配操作即可生成用于 OTA 升級的 App 固件。

3.1 使用說明

將 Bootloader 通過下載器下載到 MCU 中后,可通過提供的 PC Tool 來刷寫生成的固件,通過 PC Tool 下載成功后,一方面 PC 終端會有下載成功提示,另一方面也可以查看開發板上對應固件實現的功能是否開始執行。

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

3.2 App 設計規范

App 與 Bootloader 存放在 MCU 的同一塊 Flash 的兩個不同區域中,為保證兩個軟件的正常使用,App 設計遵循表 2-1 和表 2-2 所述規范。

表 2-1

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

表 2-2

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

4PC Tool

Flexcan OTA PC Tool 是用于驗證靈動 MindSDK 中提供的 FlexCAN OTA 解決方案的簡易 PC 端上位機工具。

4.1 功能特性

支持 CAN 通信速率自定義

支持 Win10 操作系統下運行

支持默認參數直接運行和命令行下帶參數運行

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

基于 Python 使用 python-udsoncan 開發,可根據不同需求靈活進行二次開發

4.2 開發環境

本工具在 Win10 平臺使用 Python 進行開發,基于 UDS 使用 CAN 協議,支持 PEAK CAN卡與 MCU 進行通訊。

4.3 使用說明

請按照如下步驟進行操作:

a下載 Bootloader 到 MCU

將提供的 flexcan_ota_bootloader 樣例工程編譯并下載到開發板中。

b安裝 CAN 卡驅動并連接 MCU

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

c運行 FlexCAN OTA PC Tool

方式一:按照默認參數直接運行

直接雙擊 flexcan_ota_pc_tool_v1.0.exe,如圖 3 所示,默認將按照 500Kbps 的比特率進行 CAN 通信,Flash_driver 文件的加載地址為當前路徑下的文件(./flash_driver.hex), App 文件的加載路徑為當前路徑下文件(./app.hex)。

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

圖 3

方式二:按照指定參數運行

在 Win10 平臺下啟動命令行窗口并切換到當前路徑下,獲取幫助如圖4所示,輸入如下指令并按回車鍵:

flexcan_ota_pc_tool_v1.0.exe-h

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

圖 4

按照指定參數運行如圖 5 所示,輸入如下指令并按回車鍵:

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

其中 flash_driver.hex 文件為用于安全地擦寫片內 flash 的代碼,在每次 OTA 更新中復用即可。

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

圖 5

d結束

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

5注意事項

FlexCAN OTA Tool 為用于驗證基于 UDS 使用 CAN 協議進行 App 固件更新的上位機工具,PC 端使用 PEAK-CAN 與 MCU 通訊,僅支持在 Win 10 操作系統下運行, 且用于功能性驗證,若遇到軟件閃退等問題請重啟該軟件并復位 MCU。該工具可根據開發者項目需求進行二次開發。

以上介紹是基于MM32F0140 系列 MCU 進行介紹和示例演示,相關源碼請訪問靈動官網進行獲取:

01進入靈動官網

02打開“產品”菜單下 MM32F0140 頁面,瀏覽“文檔”列表。

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

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

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17171

    瀏覽量

    351512
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2756

    瀏覽量

    463856
  • 總線
    +關注

    關注

    10

    文章

    2890

    瀏覽量

    88145
  • OTA
    OTA
    +關注

    關注

    7

    文章

    582

    瀏覽量

    35264
  • bootloader
    +關注

    關注

    2

    文章

    235

    瀏覽量

    45642

原文標題:靈動微課堂 (第244講)|FlexCAN OTA

文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    汽車OTA有哪些作用?如何推動行業進步?怎么保證安全?#汽車OTA

    OTA
    北匯信息POLELINK
    發布于 :2023年03月15日 10:50:55

    SPC560Dxx FlexCAN傳輸錯誤

    我正在使用SPC560D-DIS Discovery板進行開發和SPC5工作室。 我已經為FlexCAN測試導入了測試應用程序'SPC560Dxx OS-Less CAN Test
    發表于 11-22 10:36

    FlexCAN不起作用

    嗨, 我正在使用spc5_studio測試SPC560P50L5,FlexCAN的內置示例是環回測試。當我禁用環回并啟用管理程序模式時,CAN_TXD引腳上沒有任何內容。我不知道這個問題,我需要
    發表于 04-02 11:51

    嵌入式OTA升級實現原理是什么

    目錄一、簡介1.1 概念1.2 優點1.3 實現原理二、MCU OTA升級2.1 制作升級包2.2 下載升級包2.3 驗簽升級包2.4 更新固件三、Linux OTA升級3.1 系統升級3.2
    發表于 12-14 07:24

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

    我正在使用 MQX FlexCAN FIFO 接收機制。除了消息接收延遲外,它工作正常。當收到第一個 CAN 報文時,FIFO 的輸出是一條僅包含零的報文。消息 2-5 也是??如此。當接收到第 6
    發表于 03-16 08:07

    如何使用FlexCan中斷接收S32R45上的數據?

    flexCan 演示使用輪詢來接收數據,我想使用 flexCan 中斷。我已啟用 flexCan0 IRQ,并定義了回調函數。定義回調函數格式(見附件)。但是,它無法正常工作。第一次可以進入這個函數
    發表于 03-20 08:08

    FlexCAN傳輸不工作的原因?

    大家好,我正在嘗試使用 FlexCAN 并在發送時遇到問題。使用項目示例中的示例 - sk32146 FlexCAN,并使用帶 12 V 電源的硬件 S32K146_EVB 板。從能夠獲取數據
    發表于 03-29 06:54

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

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

    中國電信OTA卡業務

    中國電信OTA卡業務 一、業務簡介 OTA卡就是增強型的UIM卡,能提供更多的增值業務。    目前的
    發表于 05-21 09:48 ?1.2w次閱讀

    靈動MM32F0140:FlexCAN控制器介紹

    1 FlexCAN 簡介 FlexCAN 控制器局域網模塊是符合 ISO 11898-1 標準和 CAN 2.0B 規范的通信控制器,支持 CAN 總線協議。FlexCAN 模塊框圖如
    的頭像 發表于 05-13 16:42 ?4401次閱讀
    靈動MM32F0140:<b class='flag-5'>FlexCAN</b>控制器介紹

    FlexCAN 的基本使用方法及特性

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

    OTA是什么?OTA升級有何用?

    ota是什么?ota升級是什么意思?很多用智能手機的人應該都會知道 ota是什么 ,而對于一些剛入門的機友們,ROOT、刷機、越獄都比較熟悉,但OTA升級比較陌生,那么
    的頭像 發表于 03-15 14:36 ?8134次閱讀

    MindSDK中FlexCAN驅動程序及樣例工程

    前文介紹了FlexCAN外設模塊,一種典型的CAN總線引擎子系統的工作機制。那么,用戶在軟件開發平臺對CAN總線引擎進行編程,需要根據硬件外設模塊的功能進行建模,將對CAN總線通信引擎的操作封裝
    的頭像 發表于 06-23 15:41 ?1270次閱讀
    MindSDK中<b class='flag-5'>FlexCAN</b>驅動程序及樣例工程

    一文淺談FlexCAN OTA

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

    FlexCAN中文手冊

    電子發燒友網站提供《FlexCAN中文手冊.pdf》資料免費下載
    發表于 06-20 11:14 ?4次下載
    主站蜘蛛池模板: 亚洲精品一本之道高清乱码| 白洁在线观看| 樱桃bt在线www| 97人妻无码AV碰碰视频| 岛国电影网址| 精品午夜视频| 全彩黄漫火影忍者纲手无遮挡| 午夜亚洲WWW湿好大| 在线精品一卡乱码免费| 成人毛片100部免费看| 黄色三级网站| 欧美一第一页草草影院| 亚洲AV无码乱码在线观看浪潮| 91av影院| 国产亚洲欧洲日韩在线观看| 免费毛片在线视频| 亚洲 欧美无码原创区| 99视频在线精品免费观看18| 国产啪视频在线播放观看| 免费的好黄的漫画| 性生交片免费无码看人| 99久久99久久久99精品齐| 国产一区二区无码蜜芽精品| 欧美日韩视频高清一区| 亚洲精品色情婷婷在线播放 | 日韩精品亚洲专区在线电影不卡 | 菠萝蜜国际一区麻豆| 久久99精品国产自在自线| 日韩人妻无码精品久久中文字幕| 在线不卡日本v二区| 国产精品麻豆高潮刺激A片| 男人把女人桶到高潮嗷嗷叫| 亚洲国语在线视频手机在线| 把极品白丝班长啪到腿软| 久久免费特黄毛片| 羞羞影院男女爽爽影院尤物| 成人国产在线看不卡| 久久视频这有精品63在线国产| 小骚妇BBBXXX| 丰满大屁俄罗斯肥女| 嗯呐啊唔高H兽交|