cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 

Where can I find FUS binary file with FUS version 1.0.2?

AOris.1
Associate II

I just got my STM32WB55 Nucleo boards with FUS v.0.5.3 and trying to upgrade firmware but neither of the provided .bin files in "repository" ("stm32wb5x_FUS_fw.bin" or "stm32wb5x_FUS_fw_for_fus_0_5_3.bin") work. I get the same message for both when trying to program the files using STM32CubeProgrammer tool. (Note: message "Firmware Delete Successful" was present).

Attaching a picture of the error message I get.

Note: I tried to accomplish the same thing using both user USB DFU and ST-LINK interfaces.

0693W00000FB4lNQAT.jpg 

Here's log from my flash attempts:

10:43:51 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

10:43:51 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

10:43:51 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

10:43:51 : Warning: Option Bytes are unchanged, Data won't be downloaded

10:43:51 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

10:43:51 : Memory Programming ...

10:43:51 : Opening and parsing file: 0x495_FUS_Operator.bin

10:43:51 :  File         : 0x495_FUS_Operator.bin

10:43:51 :  Size         : 8 KBytes

10:43:51 :  Address      : 0x08000000

10:43:51 : Erasing memory corresponding to segment 0:

10:43:51 : Erasing internal memory sectors [0 1]

10:43:51 : Download in Progress:

10:43:51 : File download complete

10:43:51 : Time elapsed during download operation: 00:00:00.292

10:43:51 : Application is running, Please Hold on...

10:43:51 : Reconnecting...

10:43:51 : Reconnected !

10:43:52 : FUS_STATE_IDLE

10:43:52 : Read FUS state command execution finished

10:43:52 : UPLOADING ...

10:43:52 :  Size         : 4 Bytes

10:43:52 :  Address      : 0x20010010

10:43:52 : Read progress:

10:43:52 : Data read successfully

10:43:52 : Time elapsed during the read operation is: 00:00:00.000

10:44:29 : Option byte command : -ob nSWBOOT0=1

10:44:29 : PROGRAMMING OPTION BYTES AREA ...

10:44:29 :  Bank         : 0x00

10:44:29 :  Address      : 0x58004020

10:44:29 :  Size         : 96 Bytes

10:44:29 : Reconnecting...

10:44:35 : Reconnected !

10:44:35 : UPLOADING OPTION BYTES DATA ...

10:44:35 :  Bank         : 0x00

10:44:35 :  Address      : 0x58004020

10:44:35 :  Size         : 96 Bytes

10:44:35 :  Bank         : 0x01

10:44:35 :  Address      : 0x58004080

10:44:35 :  Size         : 8 Bytes

10:44:35 : OPTION BYTE PROGRAMMING VERIFICATION:

10:44:35 : Option Bytes successfully programmed

10:44:46 : Old Firmware delete ...

10:44:46 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

10:44:46 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

10:44:46 : Reconnecting...

10:44:51 : Reconnected !

10:44:51 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

10:44:51 : Memory Programming ...

10:44:51 : Opening and parsing file: 0x495_FUS_Operator.bin

10:44:51 :  File         : 0x495_FUS_Operator.bin

10:44:51 :  Size         : 8 KBytes

10:44:51 :  Address      : 0x08000000

10:44:51 : Erasing memory corresponding to segment 0:

10:44:51 : Erasing internal memory sectors [0 1]

10:44:51 : Download in Progress:

10:44:51 : File download complete

10:44:51 : Time elapsed during download operation: 00:00:00.292

10:44:51 : Application is running, Please Hold on...

10:44:58 : Reconnecting...

10:44:58 : Reconnected !

10:44:58 : Warning: FUS_STATE_IMG_NOT_FOUND, Flash already empty !

10:45:00 : Firmware delete Success

10:45:00 : Download Stack/FUS image at address 0x803a000 ...

10:45:00 : Memory Programming ...

10:45:00 : Opening and parsing file: stm32wb5x_FUS_fw_for_fus_0_5_3.bin

10:45:00 :  File         : stm32wb5x_FUS_fw_for_fus_0_5_3.bin

10:45:00 :  Size         : 24492 Bytes

10:45:00 :  Address      : 0x0803A000

10:45:00 : Erasing memory corresponding to segment 0:

10:45:00 : Erasing internal memory sectors [58 63]

10:45:00 : Download in Progress:

10:45:00 : File download complete

10:45:00 : Time elapsed during download operation: 00:00:00.666

10:45:00 : Firmware Upgrade process started ...

10:45:00 : Application is running, Please Hold on...

10:45:12 : Reconnecting...

10:45:12 : Reconnected !

10:45:12 : Error: FUS_STATE_IMG_NOT_AUTHENTIC

1 ACCEPTED SOLUTION

Accepted Solutions
Imen.D
ST Employee

Try setting RDP option byte to 0xBB and then back to 0xAA.

Then try to upgrade the FUS once again.

Hope this helps you !

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

View solution in original post

11 REPLIES 11
Imen.D
ST Employee

Hello @AOris.1ā€‹,

It maybe the error caused by the previous FW installation.

Make sure to perform a partial mass erase of the flash memory and ensure a clean memory before any programming.

When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Imen,

ā€‹

Thank you for the response but I must say that I have already tried that and yet still same error.ā€‹

Imen.D
ST Employee

Try setting RDP option byte to 0xBB and then back to 0xAA.

Then try to upgrade the FUS once again.

Hope this helps you !

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Houda GHABRI
ST Employee

Hi @AOris.1ā€‹ ,

There is step by step mentioned in FW release note describing how to upgrade/install the FUS :

How to flash the Wireless Coprocessor Binary via SWD/JTAG by ST-LINK (STM32CubeProgrammer GUI)

  • STEP 1: Use STM32CubeProgrammer GUI
    • Version 2.7.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 Graphical User Interface (GUI) mode (or Command Line Interface (CLI) mode).
  • STEP 2: Access to SWD Interface (system flash)
  • For P-NUCLEO-WB55.Nucleo :
    • Power ON via ST-LINK and Jumper JP1(USB_STL)
  • For P-NUCLEO-WB55.USBDongle :
    • remain switch SW2 to Boot1
      • Connect P-NUCLEO-WB55.USBDongle
      • open STM32CubeProgrammer GUI and select ā€œST-LINKļæ½?
      • in ST-LINK configuration: (Port: SWD) then select ā€œConnectļæ½?
  • STEP 3: select ā€œStart FUSļæ½? in Firmware Upgrade Services
  • STEP 4: Read and upgrade FUS Version
  • it can been obtained selecting ā€œRead FUS infosļæ½?
    • 00050300: FUSv0.5.3 => Must be updated using STEP 5.
      • 01020000: FUSv1.2.0 => Up to date, you can download the new wireless stack using STEP 7.
    • 010X0Y00: FUSv1.x.y => Must be updated using STEP 6 (when x < 2).
  • STEP 5: Download latest FUS for only FUS v0.5.3 upgrade
    • in Firmware Upgrade Services: (File Path: [stm32wb5x_FUS_fw_for_fus_0_5_3.bin], Start Adress: [Install@])
    • then select ā€œFirmware Upgradeļæ½? Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
  • STEP 6: Download latest FUS
    • in Firmware Upgrade Service: (File Path: [FUS_Binary], Start Adress: [Install@])
    • then select ā€œFirmware Upgradeļæ½? Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary.
  • STEP 7: Download new wireless stack (after ā€œFW Deleteļæ½? if requested)
    • in Firmware Upgrade Service: (File Path: [Wireless_Coprocessor_Binary], Start Adress: [Install@])
    • then select ā€œFirmware Upgradeļæ½? (with ā€œVerify downloadļæ½? and ā€œStart stack after upgradeļæ½?) Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary. (optional: activate ā€œAnti-Rollbackļæ½? on downloaded binary) If you need to perform FUS related manipulations, you always need to START the FUS in case the FUS is not running.
  • STEP 8: Revert to default configuration: in Option Bytes menu for User Configuration set: nSWboot0=1 (checked) nboot1=1 nboot0=1

Can you please try it and tell me if it is OK ?

Houda

Houda,

good points but I've been through those already... Here's the log:

11:02:39 : STM32CubeProgrammer API v2.8.0

11:03:11 : ST-LINK SN : 066BFF485651836687021822

11:03:11 : ST-LINK FW : V2J38M27

11:03:11 : Board      : P-NUCLEO-WB55

11:03:11 : Voltage    : 3.24V

11:03:11 : SWD freq   : 4000 KHz

11:03:11 : Connect mode: Normal

11:03:11 : Reset mode : Software reset

11:03:11 : Device ID  : 0x495

11:03:11 : Revision ID : Rev Y

11:03:11 : Debug in Low Power mode enabled.

11:03:11 : UPLOADING OPTION BYTES DATA ...

11:03:11 :  Bank         : 0x00

11:03:11 :  Address      : 0x58004020

11:03:11 :  Size         : 96 Bytes

11:03:11 :  Bank         : 0x01

11:03:11 :  Address      : 0x58004080

11:03:11 :  Size         : 8 Bytes

11:03:11 : UPLOADING ...

11:03:11 :  Size         : 1024 Bytes

11:03:11 :  Address      : 0x8000000

11:03:11 : Read progress:

11:03:11 : Data read successfully

11:03:11 : Time elapsed during the read operation is: 00:00:00.007

11:03:23 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

11:03:23 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

11:03:23 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

11:03:23 : Warning: Option Bytes are unchanged, Data won't be downloaded

11:03:23 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

11:03:23 : Memory Programming ...

11:03:23 : Opening and parsing file: 0x495_FUS_Operator.bin

11:03:23 :  File         : 0x495_FUS_Operator.bin

11:03:23 :  Size         : 8 KBytes

11:03:23 :  Address      : 0x08000000

11:03:23 : Erasing memory corresponding to segment 0:

11:03:23 : Erasing internal memory sectors [0 1]

11:03:24 : Download in Progress:

11:03:24 : File download complete

11:03:24 : Time elapsed during download operation: 00:00:00.284

11:03:24 : Application is running, Please Hold on...

11:03:24 : Reconnecting...

11:03:24 : Reconnected !

11:03:28 : Reconnecting...

11:03:28 : Reconnected !

11:03:29 : StartFus activated successfully

11:03:29 : FUS_STATE_IDLE

11:03:29 : Start FUS execution finished

11:03:41 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

11:03:41 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

11:03:41 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

11:03:41 : Warning: Option Bytes are unchanged, Data won't be downloaded

11:03:41 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

11:03:41 : Memory Programming ...

11:03:41 : Opening and parsing file: 0x495_FUS_Operator.bin

11:03:41 :  File         : 0x495_FUS_Operator.bin

11:03:41 :  Size         : 8 KBytes

11:03:41 :  Address      : 0x08000000

11:03:41 : Erasing memory corresponding to segment 0:

11:03:41 : Erasing internal memory sectors [0 1]

11:03:42 : Download in Progress:

11:03:42 : File download complete

11:03:42 : Time elapsed during download operation: 00:00:00.286

11:03:42 : Application is running, Please Hold on...

11:03:42 : Reconnecting...

11:03:42 : Reconnected !

11:03:43 : FUS_STATE_IDLE

11:03:43 : Read FUS state command execution finished

11:03:43 : UPLOADING ...

11:03:43 :  Size         : 4 Bytes

11:03:43 :  Address      : 0x20010010

11:03:43 : Read progress:

11:03:43 : Data read successfully

11:03:43 : Time elapsed during the read operation is: 00:00:00.001

11:05:04 : Old Firmware delete ...

11:05:04 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

11:05:04 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

11:05:04 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

11:05:04 : Warning: Option Bytes are unchanged, Data won't be downloaded

11:05:04 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

11:05:04 : Memory Programming ...

11:05:04 : Opening and parsing file: 0x495_FUS_Operator.bin

11:05:04 :  File         : 0x495_FUS_Operator.bin

11:05:04 :  Size         : 8 KBytes

11:05:04 :  Address      : 0x08000000

11:05:04 : Erasing memory corresponding to segment 0:

11:05:04 : Erasing internal memory sectors [0 1]

11:05:04 : Download in Progress:

11:05:04 : File download complete

11:05:04 : Time elapsed during download operation: 00:00:00.289

11:05:04 : Application is running, Please Hold on...

11:05:11 : Reconnecting...

11:05:11 : Reconnected !

11:05:11 : Warning: FUS_STATE_IMG_NOT_FOUND, Flash already empty !

11:05:13 : Firmware delete Success

11:05:13 : Download Stack/FUS image at address 0x803a000 ...

11:05:13 : Memory Programming ...

11:05:13 : Opening and parsing file: stm32wb5x_FUS_fw_for_fus_0_5_3.bin

11:05:13 :  File         : stm32wb5x_FUS_fw_for_fus_0_5_3.bin

11:05:13 :  Size         : 24492 Bytes

11:05:13 :  Address      : 0x0803A000

11:05:13 : Erasing memory corresponding to segment 0:

11:05:13 : Erasing internal memory sectors [58 63]

11:05:13 : Download in Progress:

11:05:13 : File download complete

11:05:13 : Time elapsed during download operation: 00:00:00.655

11:05:13 : Firmware Upgrade process started ...

11:05:13 : Application is running, Please Hold on...

11:05:25 : Reconnecting...

11:05:25 : Reconnected !

11:05:25 : Error: FUS_STATE_IMG_NOT_AUTHENTIC

Imen,

IT WORKED!!!!!!!!!!!!!!!!!!!!! Thank you!!!!

Can you explain why this works, please?

Really glad that the issue is solved :smiling_face_with_smiling_eyes:

This is a trick to clean the flash that I used before upgrading the board, which helps to sort out from such unexpected situation;)

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Good enough for an answer. I was more interested in the details because I'm suspecting there's a bug in the fw/sw(?) But it's up to the ST engineers to figure that out and "outsiders" shouldn't be involved in the direct resolution process.

Thank you, again.