cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot load Wireless firmware into STM32WB55 Nucleo board

zabel
Associate III

Hi, am using the STM32WB55 Nucleo board. My problem is, currently I

seem not to have a CPU2 wireless stack loaded and I fail to load file

stm32wb5x_BLE_Stack_full_fw.bin loaded into the Flash. I am using the

STM32CubeProgrammer V2.12.0. When selecting on the Firmware Upgrade

Service Button and clicking on "Read FUS infos", I get:

FUS State: FUS_IDLE

FUS Status: FUS_NO_ERROR

FUS Version: v0.0.0.0

FUS Operator: v3.1.0

When I click on "Start Wireless Stack", this happens:

 13:20:53 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

 13:20:53 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

 13:20:53 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

 13:20:53 : Warning: Option Bytes are unchanged, Data won't be downloaded

 13:20:53 : Time elapsed during option Bytes configuration: 00:00:00.000

 13:20:53 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

 13:20:53 : Memory Programming ...

 13:20:53 : Opening and parsing file: 0x495_FUS_Operator.bin

 13:20:53 :  File         : 0x495_FUS_Operator.bin

 13:20:53 :  Size         : 8.00 KB

 13:20:53 :  Address      : 0x08000000

 13:20:53 : Erasing memory corresponding to segment 0:

 13:20:53 : Erasing internal memory sectors [0 1]

 13:20:53 : Download in Progress:

 13:20:53 : File download complete

 13:20:53 : Time elapsed during download operation: 00:00:00.532

 13:20:54 : Application is running, Please Hold on...

 13:20:55 : Reconnecting...

 13:20:55 : Reconnected !

 13:20:55 : Error: FUS_STATE_ERR_UNKNOWN: Unknown error

 13:20:55 : Start Wirless Stack failed

 13:20:55 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

 13:20:55 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

 13:20:55 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

 13:20:55 : Warning: Option Bytes are unchanged, Data won't be downloaded

 13:20:55 : Time elapsed during option Bytes configuration: 00:00:00.000

 13:20:55 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

 13:20:55 : Memory Programming ...

 13:20:55 : Opening and parsing file: 0x495_FUS_Operator.bin

 13:20:55 :  File         : 0x495_FUS_Operator.bin

 13:20:55 :  Size         : 8.00 KB

 13:20:55 :  Address      : 0x08000000

 13:20:55 : Erasing memory corresponding to segment 0:

 13:20:55 : Erasing internal memory sectors [0 1]

 13:20:55 : Download in Progress:

 13:20:55 : File download complete

 13:20:55 : Time elapsed during download operation: 00:00:00.542

 13:20:55 : Application is running, Please Hold on...

 13:20:56 : Reconnecting...

 13:20:56 : Reconnected !

 13:20:56 : Error: FUS_STATE_ERR_UNKNOWN: Unknown error

 13:20:56 : Start Wireless Stack Operation Failure! Please, try again

So it seems, there is no Wireless Stack present. And if I try to load

it, this also fails: I want to use stm32wb5x_BLE_Stack_full_fw.bin

(V1.15). From the release note, I learn that the correct start address

is 0x080CE000. I have the

"First install" checkbox deselected, and the "Verify download"

selected. The Start Address field is set to 0x080CE000. On clicking

"Firmware Upgrade", I get this log:

 13:23:58 : Old Firmware delete ...

 13:23:58 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

 13:23:58 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

 13:23:58 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

 13:23:58 : Warning: Option Bytes are unchanged, Data won't be downloaded

 13:23:58 : Time elapsed during option Bytes configuration: 00:00:00.001

 13:23:58 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

 13:23:58 : Memory Programming ...

 13:23:58 : Opening and parsing file: 0x495_FUS_Operator.bin

 13:23:58 :  File         : 0x495_FUS_Operator.bin

 13:23:58 :  Size         : 8.00 KB

 13:23:58 :  Address      : 0x08000000

 13:23:58 : Erasing memory corresponding to segment 0:

 13:23:58 : Erasing internal memory sectors [0 1]

 13:23:58 : Download in Progress:

 13:23:59 : File download complete

 13:23:59 : Time elapsed during download operation: 00:00:00.532

 13:23:59 : Application is running, Please Hold on...

 13:24:06 : Reconnecting...

 13:24:06 : Reconnected !

 13:24:06 : Warning: FUS_STATE_ERR_UNKNOWN

And when trying to start the firmware, I still get 2 dialog boxes

 "Error: FUS_STATE_ERR_UNKNOWN error", and the log window shows:

 13:26:37 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

 13:26:37 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

 13:26:37 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

 13:26:37 : Warning: Option Bytes are unchanged, Data won't be downloaded

 13:26:37 : Time elapsed during option Bytes configuration: 00:00:00.000

 13:26:37 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

 13:26:37 : Memory Programming ...

 13:26:37 : Opening and parsing file: 0x495_FUS_Operator.bin

 13:26:37 :  File         : 0x495_FUS_Operator.bin

 13:26:37 :  Size         : 8.00 KB

 13:26:37 :  Address      : 0x08000000

 13:26:37 : Erasing memory corresponding to segment 0:

 13:26:37 : Erasing internal memory sectors [0 1]

 13:26:37 : Download in Progress:

 13:26:38 : File download complete

 13:26:38 : Time elapsed during download operation: 00:00:00.533

 13:26:38 : Application is running, Please Hold on...

 13:26:39 : Reconnecting...

 13:26:39 : Reconnected !

 13:26:39 : Error: FUS_STATE_ERR_UNKNOWN: Unknown error

 13:26:39 : Start Wirless Stack failed

 13:26:39 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

 13:26:39 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

 13:26:39 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

 13:26:39 : Warning: Option Bytes are unchanged, Data won't be downloaded

 13:26:39 : Time elapsed during option Bytes configuration: 00:00:00.001

 13:26:39 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

 13:26:39 : Memory Programming ...

 13:26:39 : Opening and parsing file: 0x495_FUS_Operator.bin

 13:26:39 :  File         : 0x495_FUS_Operator.bin

 13:26:39 :  Size         : 8.00 KB

 13:26:39 :  Address      : 0x08000000

 13:26:39 : Erasing memory corresponding to segment 0:

 13:26:39 : Erasing internal memory sectors [0 1]

 13:26:39 : Download in Progress:

 13:26:39 : File download complete

 13:26:39 : Time elapsed during download operation: 00:00:00.534

 13:26:39 : Application is running, Please Hold on...

 13:26:40 : Reconnecting...

 13:26:40 : Reconnected !

 13:26:40 : Error: FUS_STATE_ERR_UNKNOWN: Unknown error

 13:26:40 : Start Wireless Stack Operation Failure! Please, try again

I have found some similar questions:

  • Issue: Attempting to flash firmware onto coprocessor on STM32WB55RGV6

results in Error: FUS_STATE_ERR_UNKNOWN

  • [STM32WB55 Nucleo] Unable to update FUS or the wireless stack

(FUS_STATE_ERR_UNKNOWN)

but both threads do not seem to have a solution.

I also read the AN5185 as well as the STM32WB_FUS wiki I am not allowed to post a link here, so I will split it:

"stm32mcu/wiki/Connectivity:STM32WB_FUS"

on

wiki.st.com/

but to no avail.

I tried to identify the FUS version. IPCCDBA option byte is 0, but the whole

memory starting at 02x0030000 contains only 0x000000, so I don't find

the Device info table.

The SBRV option bytes contain 0x3d800, so this seems to indicate I

have FUS V0.5.3 loaded.

These seem to be the relevant option bytes on my board:

RDP: 0xAA (nor read protection)

nBOOT0: 1

nBOOT1: 1

ESE: unchecked

SFSA: 0xd4

FSD, DDS, C2OPT, NBRSD: checked

SNBRSA: 0x13

BRSD: checked

SBRSA: 0x0a

SBRV: 0x3d800

Any help would by nice!

Regards

 Dirk

12 REPLIES 12
MM..1
Chief III

On left side release html info is step by step howto update. Primary first need update FUS.

zabel
Associate III

The problem is, that step 4 of that instruction does not work, i.e. I have no reliable information about the current FUS version (0.0.0.0 is not mentioned as possible value). I only assume it is 0.5.3 from the SBRV value, but I am not sure. And I don't want to brick my board.

[D:\work]STM32_Programmer_CLI.exe -c port=swd -startfus
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.12.0
      -------------------------------------------------------------------
 
ST-LINK SN  : 066FFF545057717867055444
ST-LINK FW  : V2J40M27
Board       : P-NUCLEO-WB55
Voltage     : 3.26V
SWD freq    : 4000 KHz
Connect mode: Normal
Reset mode  : Software reset
Device ID   : 0x495
Revision ID : Rev B
Device name : STM32WB5x/35xx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M4
BL Version  : 0xD2
Debug in Low Power mode enabled
 
Warning: Option Byte: nSWboot0, value: 0x0, was not modified.
Warning: Option Byte: nboot0, value: 0x1, was not modified.
Warning: Option Byte: nboot1, value: 0x1, was not modified.
Warning: Option Bytes are unchanged, Data won't be downloaded
Time elapsed during option Bytes configuration: 00:00:00.007
Succeeded to set nSWboot0=0 nboot1=1 nboot0=1
 
 
Memory Programming ...
Opening and parsing file: 0x495_FUS_Operator.bin
  File          : 0x495_FUS_Operator.bin
  Size          : 8.00 KB
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 1]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:00.580
Application is running, Please Hold on...
Reconnecting...
Reconnected !
Reconnecting...
Reconnected !
StartFus activated successfully
FUS_STATE_IDLE
startfus command execution finished
 
 
[D:\work]STM32_Programmer_CLI.exe -c port=swd mode=UR -r32 0x20030030 1
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.12.0
      -------------------------------------------------------------------
 
ST-LINK SN  : 066FFF545057717867055444
ST-LINK FW  : V2J40M27
Board       : P-NUCLEO-WB55
Voltage     : 3.26V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x495
Revision ID : Rev B
Device name : STM32WB5x/35xx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M4
BL Version  : 0xD2
Debug in Low Power mode enabled
 
 
Reading 32-bit memory content
  Size          : 4 Bytes
  Address:      : 0x20030030
 
0x20030030 : 00000000
 

Use GUI Programmer not cli

zabel
Associate III

Just the same problem, see above: "FUS Version: v0.0.0.0"

And reading from 0x2003000 on gives ony 0x000000 for the whole range.

Send PM teamviewer

MM..1
Chief III

If you dont sucess maybe this help Unable to start FUS

zabel
Associate III

Had no success, could not update the FUS (ended up with "FUS_STATE_ERR_UNKNOWN). But your reference looks promising, at least the symptoms look very similar to the observed ones. Once again thank you for your help!

TillerBelotti
Associate II

I have same issue, but with STM32WB15. Today I was updating it to 1.16 and got the same symptoms, option bytes are slightly different:

SBRV: 0x8400

SFSA: 0x31

When I click on read FUS infos, sometimes it shows FUS Version v23.ffffffa8.7d.ffffffef, but 99% of the time it shows 0.0.0.0. Start FUS always gives an error.

MM..1
Chief III

Try slow down stlink speed from 4M to 400kHz or less