精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

STM32WB55_NUCLEO開發(12)----FUS更新

嵌入式單片機MCU開發 ? 來源:嵌入式單片機MCU開發 ? 作者:嵌入式單片機MCU開 ? 2023-11-13 15:36 ? 次閱讀

概述

STM32WB 微控制器中,FUS(Firmware Upgrade Services)是用于固件升級的一種服務。這項服務可以讓你更新設備上的無線棧固件(如藍牙Zigbee或 Thread 棧),以及無線 MCU (microcontroller unit) 的系統服務。

FUS 實質上是設備的一部分固件,它可以獨立于主應用程序運行,主要負責安全地處理設備固件的升級。這包括檢查新固件的有效性,確保新固件被正確地寫入設備,以及在出現問題時回滾到舊版本的固件。

總的來說,FUS 是 STM32WB 和其他 STM32 無線微控制器中一個非常重要的組件,可以確保設備固件的安全更新。 最近在弄ST和瑞薩RA的課程,需要樣片的可以加群申請:615061293 。

視頻教學

聽不到聲音的請點擊跳轉進行觀看。

https://www.bilibili.com/video/BV1hd4y1f7iZ/

硬件準備

首先需要準備一個開發板,這里我準備的是NUCLEO-WB55RG 的開發板:

存儲器映射

FUS 在 Flash 存儲器中有一個專用空間,該空間取決于 FUS 大小。它還使用 SRAM2a 和 SRAM2b 中的專用空間 以及 SRAM2a(共享表)中的共享空間。

由選項字節定義 Flash 存儲器 SRAM2a 和 SRAM2b 中的專用空間大小。 若需更多信息,請參見產品參考手冊。

與無線協議棧(如果安裝)共享專用 Flash 存儲器和 SRAM 區域。但在給定時間,只能在 Cortex?-M0+上運行 FUS 或無線協議棧。

FLASH安全區設置

安全CPU2可以通過加載新的用戶選項SFSA來修改CPU2的安全起始地址。

從閃存存儲器的基地址開始加上[SFSA x 0x1000](包含),直到最后一個閃存存儲器地址。當啟用CPU2安全性時,CPU2安全區域的最小大小為一個扇區(4K字節)。

例如,一個從地址0x080C 7000(包含)到地址0x080F FFFF(包含)的CPU2安全區域。

SFSA[7:0]包含了安全閃存存儲區域第一個4K字節頁面的起始地址。

SRAM安全區設置

CPU2安全SRAM2a和SRAM2b區域以1 K字節的粒度定義,并通過安全備份RAM(SRAM2a)起始地址的用戶選項(BRSD和SBRSA)以及安全非備份RAM(SRAM2b)起始地址的用戶選項(NBRSD和SNBRSA)定義在閃存中。這些偏移由閃存內的安全SRAM2起始地址和CPU2復位向量寄存器(FLASH_SRRVR)中的SBRSA和SNBRSA字段控制。

CPU2安全的SRAM2a區域定義為備份SRAM2a基地址 + [SBRSA x 0x0400](包括),直到最后一個SRAM2a地址。 例如,對于CPU2安全的SRAM2a區域,從地址0x20035000(包括)到地址0x20037FFF(包括),需要將FLASH_SRRVR寄存器編程為SBRSA = 0x14。

任何CPU1的讀取訪問都不返回數據,并且對CPU2安全SRAM2a區域的寫訪問會被丟棄并觸發總線錯誤。 當BRSD設置為1時,SRAM2a是非安全的。

CPU2安全的非備份SRAM2b區域定義為非備份SRAM2b基地址 + [SNBRSA x 0x0400](包括),直到最后一個SRAM2b地址。 例如,對于CPU2安全的SRAM2b區域,從地址0x2003EC00(包括)到地址0x2003FFFF(包括),需要將FLASH_SRRVR寄存器編程為SNBRSA = 0x1B。

任何CPU1的讀取訪問都不返回數據,并且對CPU2安全SRAM2b區域的寫訪問會被丟棄并觸發總線錯誤。 當NBRSD設置為1時,SRAM2b是非安全的。

FUS固件下載 Firmware Update Service(FUS)是一種用于在STM32WB微控制器上更新固件的功能。FUS下載是指通過FUS服務進行固件更新的過程。通過FUS下載,您可以通過無線方式將新的固件加載到STM32WB設備中,而無需使用傳統的有線編程方法。

在ST官網中提供了固件,下載地址:

https://www.st.com/zh/embedded-software/stm32cubewb.html

下載完畢之后,打開該目錄,有對應的版本說明文檔。

固件升級流程如下所示。

打開STM32CubeProgrammer,連接開發板。 進入固件升級服務,點擊Start FUS。

連接成功會彈出如下所示窗口,若沒鏈接成功,可以點擊復位鍵。

可以使用STM32CubeProgrammer軟件,通過點擊"Read FUS infos"按鈕,來讀取安裝在STM32WB微控制器中的FUS(Firmware Update Service)版本信息。這里的FUS版本為V0.5.3.0

通過打開上述的"Release_Notes.html"說明文檔,可以查看固件包中不同MCU所對應的地址差異。 同時這里要求的固件包為V1.2.0,如果不是的話需要進行 STEP 5/6 。

選擇相應的固件文件和起始地址后,您可以查看對應的固件等級,并點擊"Firmware Upgrade"按鈕進行固件升級。

升級成功如下所示。

若出現如下報錯,說明沒有進行第五步。

需要進行第五步,stm32wb5x_FUS_fw_for_fus_0_5_3.bin 這個二進制文件是用于刷新無線協處理器二進制文件的實用程序。

選中stm32wb5x_FUS_fw_for_fus_0_5_3.bin,同時輸入對應的地址進行升級。

成功升級會顯示如下所示窗口。

重新讀取FUS版本,可以看見已經由之前的V0.5.3.0變為了V1.2.0.0

重新升級stm32wb5x_BLE_Stack_full_fw.bin。

這個時候可以查看到固件是升級成功了的。

最后我們可以進行第八步,設置boot寄存器。

通過USB進行下載

通過USB下載固件的具體流程如下所示。

通過usb進行下載,需要進行一些跳線帽的設置。

同時需要將CN7.5(VDD) and CN7.7(Boot0)短接以及設置nSWboot0=1為1。

設置nSWboot0=1為1。

連接CN7.5(VDD) 和 CN7.7(Boot0)。

切換為USB連接,連接上如下所示。

對于FUS版本,不同的FUS版本對應的步驟不一樣。

由于我之前升級過了,可以直接下載固件。

下載成功如下所示。


審核編輯:湯梓紅

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

    關注

    114

    文章

    5772

    瀏覽量

    169856
  • 無線
    +關注

    關注

    31

    文章

    5431

    瀏覽量

    173096
  • BLE
    BLE
    +關注

    關注

    12

    文章

    652

    瀏覽量

    59344
  • stm32cubemx
    +關注

    關注

    5

    文章

    281

    瀏覽量

    14761
  • STM32WB55
    +關注

    關注

    0

    文章

    25

    瀏覽量

    1305
收藏 人收藏

    評論

    相關推薦

    STM32WB55_NUCLEO開發(9)----接收手機數據點亮LED

    群申請:615061293 。 硬件準備 首先需要準備一個開發板,這里我準備的是NUCLEO-WB55RG 的開發板: 視頻教學 聽不到聲音的請點擊跳轉進行觀看。 https
    的頭像 發表于 08-21 15:16 ?1060次閱讀
    <b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>開發</b>(9)----接收手機數據點亮LED

    STM32WB55_NUCLEO開發(10)----接收手機特定數據點亮LED

    STM32WB55_NUCLEO開發(10)----接收手機特定數據點亮LED
    的頭像 發表于 08-21 15:19 ?906次閱讀
    <b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>開發</b>(10)----接收手機特定數據點亮LED

    STM32WB55_NUCLEO開發(11)----發送數據到手機

    STM32WB55_NUCLEO開發(11)----發送數據到手機
    的頭像 發表于 08-21 15:22 ?1151次閱讀
    <b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>開發</b>(11)----發送數據到手機

    STM32WB55開發(6)----FUS更新

    STM32WB 微控制器中,FUS(Firmware Upgrade Services)是用于固件升級的一種服務。這項服務可以讓你更新設備上的無線棧固件(如藍牙、Zigbee或 Thread 棧
    的頭像 發表于 12-01 16:49 ?842次閱讀
    <b class='flag-5'>STM32WB55</b><b class='flag-5'>開發</b>(6)----<b class='flag-5'>FUS</b><b class='flag-5'>更新</b>

    NUCLEO-WB55RG更新FUS,在CubeIDE里無法燒錄怎么解決?

    板子是NUCLEO-WB55RG,那天嘗試了一下FUS更新,后來在CubeIDE里無法燒錄,也無法連接到CubeProg,圖片如下,ST-link的電壓為0V,嘗試更改mode為hot plug,power down均無效,其他
    發表于 03-14 07:40

    P-NUCLEO-WB55.USBDongle開發板升級FUS和無線協議棧失敗的原因?

    按照官網提供的下面步驟 升級P-NUCLEO-WB55.USBDongle單板的FUS和無線協議棧后,單板在sw2 to boot0下,stm32cubeprogrammer選擇usb模式無法再識別
    發表于 04-16 06:59

    在定制板上更新STM32WB55CGU6上的無線堆棧時遇到問題如何解決

    我在定制板上更新 STM32WB55CGU6 上的無線堆棧時遇到問題。該板基本上是 P-NUCLEO-WB55-USBDONGLE 的克隆版本。該設備通過 St-Link/V2 上的 SWD 連接
    發表于 12-05 09:56

    FUS_STATE_IMG_NOT_AUTHENTIC在STM32WB55上從0.5.3更新FUS時出錯怎么解決?

    我正在嘗試使用 STM32CUBE Programmer GUI 工具通過 ST-LINK 升級我的 STM32WB55 Nucleo 板上的 FUS 和無線堆棧版本,并看到此錯誤
    發表于 12-27 06:22

    P-NUCLEO-WB55 STMicroelectronicsPNUCLEOWB55STM32WBNucleo68數據包

    電子發燒友網為你提供(ti)P-NUCLEO-WB55相關產品參數、數據手冊,更有P-NUCLEO-WB55的引腳圖、接線圖、封裝手冊、中文資料、英文資料,P-NUCLEO-WB55真值表,P-
    發表于 10-23 16:06

    stm32wb55 基于rtt的ble sample制作過程

    stm32wb55 基于rtt的ble sample制作過程準備活動硬件stm32wb55 nucleo開發stm32wb55 dangl
    發表于 12-20 19:39 ?13次下載
    <b class='flag-5'>stm32wb55</b> 基于rtt的ble sample制作過程

    STM32WB55_NUCLEO開發(1)----軟件與硬件介紹

    所使用的的器件位ST官方的P-NUCLEO-WB55
    的頭像 發表于 11-18 09:54 ?2500次閱讀
    <b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>開發</b>(1)----軟件與硬件介紹

    STM32WB55_NUCLEO開發(5)----手機與STM32WB通過鍵入密鑰配對

    本篇文章主要介紹如何使用STM32CubeMX對生成STM32WB工程,并通過與STM32WB配對獲取密鑰值,然后通過鍵盤輸入密鑰進行配對。
    的頭像 發表于 11-18 10:02 ?1186次閱讀
    <b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>開發</b>(5)----手機與<b class='flag-5'>STM32WB</b>通過鍵入密鑰配對

    STM32WB55_NUCLEO開發(7)----手機與STM32WB進行綁定

    本篇文章主要介紹如何使用STM32CubeMX對生成STM32WB工程,并通過與STM32WB配對,將其綁定。
    的頭像 發表于 11-18 10:08 ?1265次閱讀
    <b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>開發</b>(7)----手機與<b class='flag-5'>STM32WB</b>進行綁定

    STM32WB55_NUCLEO開發(8)----授權

    本篇文章主要介紹如何使用STM32CubeMX對生成STM32WB工程,并通過與STM32WB配對,應用程序對客戶端讀取或者寫入特征值進行授權。
    的頭像 發表于 11-18 10:09 ?1193次閱讀
    <b class='flag-5'>STM32WB55_NUCLEO</b><b class='flag-5'>開發</b>(8)----授權

    DB4388_NUCLEO_WB55RG NUCLEO_WB15CC 數據手冊摘要

    DB4388_NUCLEO_WB55RG NUCLEO_WB15CC 數據手冊摘要
    發表于 11-23 08:34 ?1次下載
    DB4388_<b class='flag-5'>NUCLEO_WB55</b>RG <b class='flag-5'>NUCLEO_WB</b>15CC 數據手冊摘要