Skip to main content
DPars.2
Associate II
December 20, 2021
Solved

Repeatedly failing BLE firmware update due to FUS_IMAGE_WRTERROR.

  • December 20, 2021
  • 2 replies
  • 1055 views

I'm running FUS 1.2.0 on an STM32WB55CEU and every time I try to update the BLE firmware over USB I get a FUS image write error. It appears to download and verify successfully but always fails during the actual firmware update. I can't seem to find this error anywhere else on the forum (or Google) so am I the only one having this issue?

 08:58:38 : ST-LINK error (DEV_CONNECT_ERR)

 08:58:45 : USB speed  : Full Speed (12MBit/s)

 08:58:45 : Manuf. ID  : STMicroelectronics

 08:58:45 : Product ID : DFU in FS Mode

 08:58:45 : SN     : 205536685841

 08:58:45 : FW version : 0x011a

 08:58:45 : Board    : --

 08:58:45 : Device ID  : 0x0495

 08:58:45 : UPLOADING OPTION BYTES DATA ...

 08:58:45 :  Bank     : 0x00

 08:58:45 :  Address    : 0x1fff8000

 08:58:45 :  Size     : 128 Bytes

 08:58:45 : UPLOADING ...

 08:58:45 :  Size     : 1024 Bytes

 08:58:45 :  Address    : 0x8000000

 08:58:45 : Read progress:

 08:58:45 : Data read successfully

 08:58:45 : Time elapsed during the read operation is: 00:00:00.024

 08:58:49 : FUS state is FUS_IDLE

 08:58:49 : FUS status is FUS_NO_ERROR

 08:58:51 : Deleting firmware ...

 08:58:52 : Firmware delete finished

 08:58:52 : Firmware delete execution finished

 08:58:53 : Connection to device 0x495 is lost

 08:58:53 : Disconnected from device.

 08:58:54 : ST-LINK error (DEV_CONNECT_ERR)

 08:58:57 : USB speed  : Full Speed (12MBit/s)

 08:58:57 : Manuf. ID  : STMicroelectronics

 08:58:57 : Product ID : DFU in FS Mode

 08:58:57 : SN     : 205536685841

 08:58:57 : FW version : 0x011a

 08:58:57 : Board    : --

 08:58:57 : Device ID  : 0x0495

 08:58:57 : UPLOADING OPTION BYTES DATA ...

 08:58:57 :  Bank     : 0x00

 08:58:57 :  Address    : 0x1fff8000

 08:58:57 :  Size     : 128 Bytes

 08:58:57 : UPLOADING ...

 08:58:57 :  Size     : 1024 Bytes

 08:58:57 :  Address    : 0x8000000

 08:58:57 : Read progress:

 08:58:57 : Data read successfully

 08:58:57 : Time elapsed during the read operation is: 00:00:00.025

 08:59:01 : Download Stack/FUS image at address 0x8053000 ...

 08:59:01 : Memory Programming ...

 08:59:01 : Opening and parsing file: stm32wb5x_BLE_Stack_full_fw.bin

 08:59:01 :  File     : stm32wb5x_BLE_Stack_full_fw.bin

 08:59:01 :  Size     : 183536 Bytes

 08:59:01 :  Address    : 0x08053000 

 08:59:01 : Erasing memory corresponding to segment 0:

 08:59:01 : Erasing internal memory sectors [83 127]

 08:59:02 : Download in Progress:

 08:59:06 : File download complete

 08:59:06 : Time elapsed during download operation: 00:00:04.813

 08:59:06 : Verifying ...

 08:59:06 : Read progress:

 08:59:10 : Download verified successfully 

 08:59:10 : FUS state is FUS_IDLE

 08:59:10 : FUS status is FUS_NO_ERROR

 08:59:13 : Firmware Upgrade process started ...

 08:59:13 : Updating firmware ...

 08:59:13 : Waiting for firmware upgrade end

 08:59:17 : FUS state is WIRELESS_STACK_UPGRADE_ONGOING

 08:59:17 : FUS status is FUS_IMAGE_WRTERROR

 08:59:17 : Firmware upgrade Error!

This topic has been closed for replies.
Best answer by DPars.2

Well, I didn't really find the root cause but I've at least found a work around. All the failures were happening when I tried to update through USB DFU. I was also powering the board through USB. This board also has test point access to the SWD pins so I changed my set-up to power the board with an external power supply and connect STM32CubeProgrammer via SWD and now it programs successfully. There is obviously some sort of hardware issue with my USB connection.

2 replies

DPars.2
DPars.2Author
Associate II
December 20, 2021

Same failure from command line and option bytes...

0693W00000HpGqIQAV.png0693W00000HpGqXQAV.png

DPars.2
DPars.2AuthorBest answer
Associate II
December 21, 2021

Well, I didn't really find the root cause but I've at least found a work around. All the failures were happening when I tried to update through USB DFU. I was also powering the board through USB. This board also has test point access to the SWD pins so I changed my set-up to power the board with an external power supply and connect STM32CubeProgrammer via SWD and now it programs successfully. There is obviously some sort of hardware issue with my USB connection.