STM32
直播中

硬件工程师1

9年用户 1534经验值
擅长:可编程逻辑
私信 关注
[问答]

P-NUCLEO-WB55.USBDongle开发板升级FUS和无线协议栈失败的原因?

按照官网提供的下面步骤 升级P-NUCLEO-WB55.USBDongle单板的FUS和无线协议栈后,单板在sw2 to boot0下,STM32cubeprogrammer选择usb模式无法再识别到DFU设备,感觉是FUS升级坏了。
有个疑问:按照介绍,stm32wb5x_FUS_fw.bin 是烧录在 0x080EC000位置,而stm32wb5x_BLE_Stack_fw.bin是烧录在0x080cb000位置,这两个位置之间相差0x21000,可是stm32wb5x_BLE_Stack_fw.bin文件的大小有160KB左右,这样烧录stm32wb5x_BLE_Stack_fw.bin时 不就会把FUS空间覆盖了吗?


  • STEP 1: Use STM32CubeProgrammer


    • Version 2.0 or higher.

    • It gives access to Firmware Upgrade Service (FUS) (AN5185 : ST firmware upgrade services for STM32WB Series.) through Bootloader.

    • It is currently available as Command Line Interface (CLI) mode.

  • STEP 2: Access to Bootloader USB Interface (system flash)


    • Boot mode selected by Boot0 pin set to VDD

      • For P-NUCLEO-WB55.Nucleo :

        • Jumper between CN7.5(VDD) and CN7.7(Boot0)
        • Power ON via USB_USER and Jumper JP1(USB_MCU)
      • For P-NUCLEO-WB55.USBDongle :

        • Move switch SW2 to Boot0
        • Connect P-NUCLEO-WB55.USBDongle

  • STEP 3 : Delete current wireless stack :


    • STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
  • STEP 4 : Read and upgrade FUS Version

    • STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1

      • 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
      • 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Up to date, you can download the new wireless stack using STEP6.


  • STEP 5 : Download new FUS :


    • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [FUS_Binary] [Install@] firstinstall=0
    Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.

  • STEP 6 : Download new wireless stack :


    • STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1
    Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary.

  • STEP 7 : Revert STEP 2 procedure to put back device in normal mode.



回帖(1)

甘满盛

2024-4-16 16:42:37
有几个可能导致你升级P-NUCLEO-WB55.USBDongle开发板的FUS和无线协议栈失败的原因:

1. 硬件连接问题:确保你正确连接了开发板和PC,并且使用了正确的USB线缆。

2. STM32CubeProgrammer版本问题:请确认你使用的是2.0或更高版本的STM32CubeProgrammer工具。

3. DFU模式问题:确保你将开发板的SW2开关切换到BOOT0位置,以便进入DFU模式。

4. USB驱动问题:有时候,USB驱动可能会导致设备无法被识别。请尝试重新安装或更新USB驱动程序。

关于你提到的疑问,stm32wb5x_FUS_fw.bin和stm32wb5x_BLE_Stack_fw.bin分别位于0x080EC000和0x080cb000位置,它们之间确实相差0x21000(约133KB)的空间。确保在升级无线协议栈时不要覆盖FUS空间,可以通过调整烧录的起始地址来避免该问题。
举报

更多回帖

×
20
完善资料,
赚取积分