使用 STM32WB55 升级 FUS 时出现 Error: Firmware not authentic!
STM32WB55 出厂FUS 版本为 0.5.3 版本,所以必须要升级FUS 到1.0.x 以上,在使用命令行升级P-NUCLEO-WB55.USBDongle 时出现了 Error: Firmware not authentic!
主要原因: FUS 不能直接升级到最高版本否则就会报错,可以尝试先下载V1.3.0的固件包使用其内部的FUS V1.0.2.0 版本后就会成功!
升级步骤见:
固件包目录下:STM32Cube_FW_WB_V1.7.0/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/Release_Notes.html 网页
- For P-NUCLEO-WB55.USBDongle :
-
- Move switch SW2 to Boot0
- Connect P-NUCLEO-WB55.USBDongle
也可以拷贝 FUS 的.bin 文件到 C:\Program Files (x86)\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin 目录下 这样可以减少输入路径
首先安装 STM32CubeProgrammer 2.0以上版本,打开命令行 如下图
在终端中输入以下命令即可: -> 符号不需要输入到终端
-> cd "C:\Program Files (x86)\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"
-> STM32_Programmer_CLI.exe -l
-> STM32_Programmer_CLI.exe -l usb
-> STM32_Programmer_CLI.exe -c port=usb1 -r32 0x1FFF6FFE 1
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -fusgetstate
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -fusgetstate
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw.bin
0x080EC000 firstinstall=0 -v
以上即可完成FUS升级:
通过STM32CubeProgrammer 查看 FUS版本 此时已升级到v1.0.2.0 版本:
以下命令是升级Stack “ stm32wb5x_BLE_Stack_fw_v1.1.1_0x080CC000.bin
0x080CC000” 需要换成自己需要升级的Stack 版本和地址 :
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_BLE_Stack_fw_v1.1.1_0x080CC000.bin
0x080CC000 firstinstall=1 -v
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -d STM32WB55CG_usb_BLE_HeartRate.bin 0x08000000 -v
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
-> STM32_Programmer_CLI.exe -c port=usb1 -startwirelessstack
-> STM32_Programmer_CLI.exe -c port=usb1 -ob displ
希望能帮助您少走一些弯路 !!!!!!