I want to upgrade the firmware for the bluetooth stack on the STM32WB. It requires the device to be in boot loader mode and power from the user USB not ST-LINK usb. However I've not programmed a device in this way before, should it be programmed through the user USB interface, or should i use an ST-Link device and wire up SWDIO…etc to be able to connect to the device?
Instructions provided are below: but they make no reference to using ST-Link.
Following the instructions as is I cannot connect to the device (it doesnt appear in device management) when just connected via USB User.
Should I be using an ST-Link device in addition to the USB user? or any other suggestions?
STEP 1: Use STM32CubeProgrammer
Version 1.4 or higher.
It gives access to Firmware Upgrade Service (FUS) (AN 5185) 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 NUCLEO-WB55.Nucleo :
Jumper between CN7.5(VDD) and CN7.7(Boot0)
Power ON via USB_USER and Jumper J2(USB_MCU)
For NUCLEO-WB55.USBDongle :
Move switch SW2 to Boot0
Connect WB55.USBDongle
STEP 3 : Delete current wireless stack :
STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
STEP 4 : Download new wireless stack :
STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1
Please check Binary Install Address Table for Install@ parameter depending of the binary.
STEP 5 : Revert STEP 2 procedure to put back device in normal mode.
Best Answer
The procedure is correct without using ST-Link.