女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

一文淺談FlexCAN OTA

jf_pJlTbmA9 ? 來源:靈動MM32MCU ? 作者:靈動MM32MCU ? 2023-09-27 16:17 ? 次閱讀

1、簡介

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

wKgaomUDzKKATx6NAADC5W2H_0Q899.png

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

1.1 關(guān)鍵特性

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

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

具備對 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) 的簡稱,是一種功能豐富的車用總線標(biāo)準(zhǔn),被設(shè)計用于在不需要主機(jī)(Host)的情況下,允許網(wǎng)絡(luò)上的單芯片和儀器相互通信。是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國 BOSCH 公司開發(fā),并最終成為國際標(biāo)準(zhǔn)(ISO11898),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。

FlexCAN 是 CAN 協(xié)議的一個高完成度版本。以靈動 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)識符的標(biāo)準(zhǔn)幀,也可以接收和發(fā)送 29 位標(biāo)識符的擴(kuò)展幀,主要被設(shè)計用作車載串行總線,可滿足實(shí)時處理、車輛在電磁干擾環(huán)境下的可靠操作、成本效益、帶寬等要求。

1.3 什么是 UDS ?

UDS(Unified Diagnostic Services,統(tǒng)一診斷服務(wù))是一種用于汽車電子控制器 ECU (Electronic Control Units) 環(huán)境下的一種診斷通信協(xié)議,可實(shí)現(xiàn)診斷、固件更新、日常測試等功能,在 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 請求發(fā)送到 MCU。當(dāng) MCU 支持 UDS 服務(wù)時,它將根據(jù)客戶端發(fā)出的請求做出相應(yīng)的響應(yīng)。

1.4 為什么用 Bootloader ?

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

wKgZomUDzKOAC9SsAABwZBPH-eE189.jpg

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

1.5 為什么基于 UDS ?

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

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

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

表 1-1

wKgaomUDzKSAKxJnAAGP6uvAfgQ512.jpg

2、Bootloader

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

2.1 Bootloader 功能特性

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

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

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

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

2.2 客制化修改說明

修改診斷 ID

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

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

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

使能看門狗

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

安全訪問算法接口

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

2.3 Flash driver 介紹

什么是Flash driver?

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

Flash driver存在的意義

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

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

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

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

3、App

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

3.1 使用說明

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

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

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

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

表 2-1

wKgZomUDzKaAWI5KAABVoL-V9Ys846.png

表 2-2

wKgaomUDzKiAXeNUAAA7O3AacIg993.png

4、PC Tool

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

4.1 功能特性

支持 CAN 通信速率自定義

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

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

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

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

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

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

4.3 使用說明

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

a、下載 Bootloader 到 MCU

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

b、安裝 CAN 卡驅(qū)動并連接 MCU

在這里我們用到的是PCAN-USB,下載并安裝驅(qū)動(https://peak-system.com.cn/driver/) ,并將 PCAN-USB 和開發(fā)板上的 CAN 收發(fā)器通過雙絞線連接以及通過 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)。

wKgZomUDzKmAbg3kAAEbTv4T9NU992.jpg

圖 3

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

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

flexcan_ota_pc_tool_v1.0.exe-h

wKgZomUDzKuAQMSWAACkH2Hr0Mg825.jpg

圖 4

按照指定參數(shù)運(yùn)行如圖 5 所示,輸入如下指令并按回車鍵:flexcan_ota_pc_tool_v1.0.exe-b500000-f"./flash_driver.hex"-a"./app.hex"

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

wKgaomUDzK2AJK4OAAFWKSqCh8Q417.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)證,若遇到軟件閃退等問題請重啟該軟件并復(fù)位 MCU。該工具可根據(jù)開發(fā)者項(xiàng)目需求進(jìn)行二次開發(fā)。

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

01)進(jìn)入靈動官網(wǎng)(www.mm32mcu.com)

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

wKgZomUDzK-AQcBfAAAq_aLy538130.png

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

wKgaomUDzLCAC2KmAABBEty7Zfo463.png

6、參考文獻(xiàn)

《ISO11898-1》

《ISO14229》

來源:靈動MM32MCU

免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理


審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2893

    瀏覽量

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

    關(guān)注

    10

    文章

    2952

    瀏覽量

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

    關(guān)注

    7

    文章

    605

    瀏覽量

    36214
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    自動駕駛汽車需要頻繁OTA更新嗎?

    [首發(fā)于智駕最前沿微信公眾號]最近聽到個特別有意思的話題,那就是智能汽車的OTA(Over-the-Air)是否可以與電子產(chǎn)品的OTA直接對標(biāo)?回看2024年的數(shù)據(jù),各車企的OTA
    的頭像 發(fā)表于 05-26 09:12 ?150次閱讀

    請問如何使S32K312 FLEXCAN的以下區(qū)域在寫入后讀取與寫入不同?

    最近遇到了這樣個問題:寫入下面 FLEXCAN 區(qū)域的數(shù)據(jù)怎么會和寫入的數(shù)據(jù)不致呢? 當(dāng)前工程中有這樣個功能:上電后,會查看該區(qū)域的數(shù)據(jù)。預(yù)定義值將被寫入 CAN 控制器的郵箱數(shù)
    發(fā)表于 04-10 06:20

    IMX8ulp調(diào)試CAN通信功能,在dtb文件中找不到flexCAN設(shè)備節(jié)點(diǎn)怎么解決?

    我正在調(diào)試 CAN 通信功能,但在 dtb 文件中找不到 flexCAN 設(shè)備節(jié)點(diǎn)。如果我想讓它工作,解決方案是什么?
    發(fā)表于 04-09 08:05

    解鎖OTA遠(yuǎn)程升級方案!基于RK3562全國產(chǎn)平臺

    在設(shè)備維護(hù)成本高、用戶體驗(yàn)難提升的雙重難題下,OTA(Over-the-Air)空間下載技術(shù)的出現(xiàn),無疑成為破解困境的“金鑰匙”,它是種通過無線網(wǎng)絡(luò)實(shí)現(xiàn)設(shè)備遠(yuǎn)程升級的技術(shù),全程數(shù)據(jù)無損。OTA既可
    的頭像 發(fā)表于 04-07 10:15 ?274次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>解鎖<b class='flag-5'>OTA</b>遠(yuǎn)程升級方案!基于RK3562全國產(chǎn)平臺

    淺談車規(guī)MCU (MGEQ1C064) OTA升級

    本帖最后由 noctor 于 2025-3-4 16:17 編輯 淺談車規(guī)MCU (MGEQ1C064) OTA升級 OTA升級為汽車打造新價值 OTA升級(Over-The
    發(fā)表于 03-04 12:52

    OTA軟件升級管理系統(tǒng)

    OTA(Over-the-Air Technology,空中下載技術(shù))是通過空中下載的方式對車輛中的軟件進(jìn)行遠(yuǎn)程升級。經(jīng)緯恒潤OTA軟件升級管理系統(tǒng)基于軟件架構(gòu)、應(yīng)用架構(gòu)、業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu),為整車提供云-管-端-屏完整OTA
    的頭像 發(fā)表于 01-13 09:39 ?615次閱讀
    <b class='flag-5'>OTA</b>軟件升級管理系統(tǒng)

    OTA升級】無需數(shù)據(jù)線,條命令即可完成固件升級!

    OTA無線升級過程視頻演示:OTA介紹OTA(Over-The-Air,空中升級)是種通過無線通信技術(shù)實(shí)現(xiàn)遠(yuǎn)程更新設(shè)備固件或軟件的方法。設(shè)備批量投入使用后,由于部署范圍太廣、設(shè)備數(shù)量
    的頭像 發(fā)表于 12-11 01:00 ?3264次閱讀
    【<b class='flag-5'>OTA</b>升級】無需數(shù)據(jù)線,<b class='flag-5'>一</b>條命令即可完成固件升級!

    串口屏 OTA(Over-The-Air)簡述

    OTA(Over-The-Air)更新是種通過無線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)對設(shè)備進(jìn)行遠(yuǎn)程固件更新的技術(shù)。在串口屏的應(yīng)用中,OTA更新可以大大提高維護(hù)效率和用戶體驗(yàn)。本文將詳細(xì)介紹如何在串口屏上實(shí)現(xiàn)OT
    的頭像 發(fā)表于 11-21 09:19 ?1687次閱讀

    OTA測試暗箱的技術(shù)原理和應(yīng)用場景

    OTA測試暗箱在無線通信設(shè)備的研發(fā)與測試中扮演著至關(guān)重要的角色。以下是對OTA測試暗箱技術(shù)原理和應(yīng)用場景的詳細(xì)闡述:OTA測試暗箱的技術(shù)原理OT
    發(fā)表于 11-14 14:36

    懌星實(shí)車OTA測試設(shè)備介紹

    懌星實(shí)車OTA測試設(shè)備(Neptune OTA Box)是款專為實(shí)車OTA測試與實(shí)車總線數(shù)據(jù)采集而設(shè)計的先進(jìn)設(shè)備,基于懌星自主研發(fā)的軟硬件平臺,旨在快速助力OEM廠商構(gòu)建實(shí)車
    的頭像 發(fā)表于 11-01 10:38 ?647次閱讀
    懌星實(shí)車<b class='flag-5'>OTA</b>測試設(shè)備介紹

    全雙工 無線透傳模塊 支持OTA遠(yuǎn)程升級 支持8路并發(fā)# 全雙工

    OTA
    思為無線
    發(fā)布于 :2024年10月14日 16:50:44

    OTA自動化測試解決方案——實(shí)車級OTA測試系統(tǒng)PAVELINK.OTABOX

    作者|網(wǎng)蟲小編|不吃豬頭肉引言往期內(nèi)容里為大家介紹了OTA技術(shù)、OTA后續(xù)的發(fā)展趨勢預(yù)測及OTA自動化測試解決方案。本文是OTA系列的第三篇文章,今天主要向大家介紹實(shí)車級
    的頭像 發(fā)表于 07-11 08:26 ?1105次閱讀
    <b class='flag-5'>OTA</b>自動化測試解決方案——實(shí)車級<b class='flag-5'>OTA</b>測試系統(tǒng)PAVELINK.OTABOX

    官方實(shí)例simple_ota_example ,OTA失敗Error: esp_ota_end failed! err=0x5379. Image is invalid的原因?

    修改IDF代碼為HTTP OTA可以成功 但是用原來的https通過證書認(rèn)證 還是ota失敗 關(guān)鍵log: I (234) wifi: wifi driver task: 3ffc0b20
    發(fā)表于 06-25 07:12

    ESP32開始ota升級,為什么esp_restart()后不進(jìn)入ota的app?

    ←◆ota_t.ota_start in ... [14:15:21.354]收←◆ try to run into ota update codes. [0;31mE (42619) drv_ota
    發(fā)表于 06-24 07:51

    FlexCAN中文手冊

    電子發(fā)燒友網(wǎng)站提供《FlexCAN中文手冊.pdf》資料免費(fèi)下載
    發(fā)表于 06-20 11:14 ?11次下載