Skip to main content
janis_sk
Associate II
May 16, 2019
Question

Restore STM32WB55 FUS firmware

I've deleted entire FLASH memory of STM32WB55 during testing. Is there a way to restore FUS and with that the wireless binaries?

As I understand they are encrypted so just writing them isn't working. Is there some tool to do that?

This topic has been closed for replies.

26 replies

janis_sk
janis_skAuthor
Associate II
January 25, 2021

If you truly erased whole flash (cleared ESE bit), then as far as I know there is no way to restore FUS and wireless binaries.

h.h.p
Visitor II
January 25, 2021

@J�?nis Skujenieks​ Ok! Thanks for the help!

Michael Bauer
Associate III
January 25, 2021

For us we followed the user guide or readme that explained how to load the M0 software using the STM32_Programmer_CLI.exe utility. The guide outlined numerous steps and for us this worked (I think steps 1-2 were like setting up the input conditions to go into this loading mode):

cd "C:\Program Files (x86)\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"

### Step 3

STM32_Programmer_CLI.exe -c port=usb1 -fwdelete

### Step 4

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

### Step 5

STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade "<YOUR_PATH>\STM32Cube_FW_WB_V1.2.0\Projects\STM32WB_Copro_Wireless_Binaries\stm32wb5x_FUS_fw.bin" 0x080EC000 firstinstall=0

### Step 6

STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade "<YOUR_PATH>\STM32Cube_FW_WB_V1.2.0\Projects\STM32WB_Copro_Wireless_Binaries\stm32wb5x_BLE_Stack_fw.bin" 0x080CC000 firstinstall=1

Note that you may prefer a newer firmware version than what I had here. Also, I dont know if this solves things if you managed to completely erase the flash. I think I tried it once but was unsuccessful and then this procedure worked for us.

h.h.p
Visitor II
January 26, 2021

@ [Michael Bauer]@Michael Bauer​ 

When I execute the commands I received these responses:

For STEP 3:

Error: FUS_STATE_ERR_UNKNOWN

Firmware delete n░1 failed after retrying!

Error: fwdelete Operation Failure! Please, try again

For STEP 4:

Reading 32-bit memory content

Size     : 4 Bytes

Address:   : 0x20030030

0x20030030 : 00000000

Indicates that the FUS has been deleted.

How to program FUS if the returns of STEP 4 is 00000000?