cancel
Showing results for 
Search instead for 
Did you mean: 

"Error: -- Reserved --" message when trying FUS upgrade via SWD

LW.1
Associate II

Hi everyone,

Up until now I've been doing FUS upgrades and BLE stack flashing on my WB55 Nucleo through the USB bootloader interface, but given that my final PCB won't have a USB port on it (space restrictions), I've had to start learning how to flash through the SWD instead. Following the instructions in the release notes for the wireless copro binaries, I can run -fwdelete just fine, and I can also successfully upload the BLE stack and run my application after that. My only concern is that when I try doing an FUS upgrade with:

STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade stm32wb5x_FUS_fw_1_0_2.bin 0x080EC000 firstinstall=0

I get the following output:

-------------------------------------------------------------------
                       STM32CubeProgrammer v2.4.0
      -------------------------------------------------------------------
 
ST-LINK SN  : 066AFF3837334D4E43125539
ST-LINK FW  : V2J34M25
Voltage     : 3.26V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x495
Device name : STM32WB55xx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M0+/M4
 
 
UPLOADING OPTION BYTES DATA ...
 
  Bank          : 0x00
  Address       : 0x58004020
  Size          : 104 Bytes
 
██████████████████████████████████████████████████ 100%
 
 
PROGRAMMING OPTION BYTES AREA ...
Warning: Option Byte: nboot0, value: 0x1, was not modified.
Warning: Option Byte: nboot1, value: 0x1, was not modified.
Warning: Option Byte: nswboot0, value: 0x0, was not modified.
 
Warning: Option Bytes are unchanged, Data won't be downloaded
 
Old wireless stack delete ...
 
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
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          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:00.889
Application is running
Reconnecting...
Reconnected !
Firmware delete Success
Download firmware image at address 0x80ec000 ...
 
 
Memory Programming ...
Opening and parsing file: stm32wb5x_FUS_fw_1_0_2.bin
  File          : stm32wb5x_FUS_fw_1_0_2.bin
  Size          : 24492 Bytes
  Address       : 0x080EC000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [236 241]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:01.160
 
Firmware Upgrade process started ...
 
Application is running
Reconnecting...
Reconnected !
Error: -- Reserved --
Error: fwupgrade Command Failure!
 
 
Old wireless stack delete ...
 
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
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          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
failed to erase memory
 
 
failed to erase memory
Failed to download FUS operator!
 
Old Firmware delete failed

I don't know if I should be concerned about that "Error: -- Reserved --" message or not. The FUS itself seems to be active given that -fwdelete and BLE stack flashing works. Also, the FUS on the board is up-to-date from when I was still flashing through the USB bootloader interface. So is this just CubeProgrammer's way of saying there is nothing new to update, or a deeper problem that'll prevent me from updating the FUS on my actual PCB?

1 ACCEPTED SOLUTION

Accepted Solutions
Remi QUINTIN
ST Employee

​No you should not worry about those messages. But I must admit that all these "spurious" messages are leading to too many questions from customers.

We should improve this.

View solution in original post

4 REPLIES 4
Remi QUINTIN
ST Employee

Could you try with the most recent FUS version 1.1.0 available in the CubeWB FW package V1.5.0 available on st.com since last week? the V1.0.2 is old now.

Could you also check that you are using Cube Programmer version 2.3.0? This would ensure you are using the latest FUS_operator version.

What might have happened with this stm32wb5x_FUS_fw_1_0_2.bin is due to the fact that this FUS version was already the one available on your board.

But there are also errors when trying to reconnect after the FUS_operator download.

What is strange is the expected size of the FUS_operator (only 3 sectors)? With the Cube programmer version I have, 4 sectors are erased (not 3 as I can see in you log file).

I recently updated CubeProgrammer to 2.4.0 and downloaded CubeWB 1.5.0, so I think everything should be up to date.

This is the output I get when trying to upgrade the FUS to 1.1.0. It's similar to when I tried to "upgrade" to 1.0.2, which I again suspect because the board was already running 1.1.0 to begin with.

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade C:\Users\lawu103\Downloads\en.stm32cubewb_v1-5-0\STM32Cube_FW_WB_V1.5.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.4.0
      -------------------------------------------------------------------
 
ST-LINK SN  : 066FFF393738425043094736
ST-LINK FW  : V2J34M25
Voltage     : 3.21V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x495
Device name : STM32WB55xx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M0+/M4
 
 
UPLOADING OPTION BYTES DATA ...
 
  Bank          : 0x00
  Address       : 0x58004020
  Size          : 104 Bytes
 
██████████████████████████████████████████████████ 100%
 
 
PROGRAMMING OPTION BYTES AREA ...
Warning: Option Byte: nboot0, value: 0x1, was not modified.
Warning: Option Byte: nboot1, value: 0x1, was not modified.
Warning: Option Byte: nswboot0, value: 0x0, was not modified.
 
Warning: Option Bytes are unchanged, Data won't be downloaded
 
Old wireless stack delete ...
 
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
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          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:00.890
Application is running
Reconnecting...
Reconnected !
Firmware delete Success
Download firmware image at address 0x80ec000 ...
 
 
Memory Programming ...
Opening and parsing file: stm32wb5x_FUS_fw.bin
  File          : stm32wb5x_FUS_fw.bin
  Size          : 24492 Bytes
  Address       : 0x080EC000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [236 241]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:01.179
 
Firmware Upgrade process started ...
 
Application is running
Reconnecting...
Reconnected !
Error: -- Reserved --
Error: fwupgrade Command Failure!
 
 
Old wireless stack delete ...
 
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
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          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
failed to erase memory
 
 
failed to erase memory
Failed to download FUS operator!
 
Old Firmware delete failed

I may have answered my own question; I'm leaning heavily towards this being a false alarm that Programmer throws when the FUS is already up to date. I managed to get another Nucleo from a friend that was running the outdated FUS from CubeWB 1.4.0, and I tried to upgrade the FUS to 1.0.2 like before, followed by upgrading to 1.1.0 from the latest CubeWB. This time, the 1.0.2 failed with a FUS_STATE_IMG_NOT_AUTHENTIC, which I remember previous posts saying was an indication that the FUS was already at this version. Following this, the 1.1.0 upgrade went through successfully.

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade C:\Users\lawu103\Downloads\en.stm32cubewb_v1-5-0\STM32Cube_FW_WB_V1.5.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw_1_0_2.bin 0x080EC000 firstinstall=0
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.4.0
      -------------------------------------------------------------------
 
ST-LINK SN  : 066FFF393738425043094736
ST-LINK FW  : V2J34M25
Voltage     : 3.21V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x495
Device name : STM32WB55xx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M0+/M4
 
 
UPLOADING OPTION BYTES DATA ...
 
  Bank          : 0x00
  Address       : 0x58004020
  Size          : 104 Bytes
 
██████████████████████████████████████████████████ 100%
 
 
PROGRAMMING OPTION BYTES AREA ...
Warning: Option Byte: nboot0, value: 0x1, was not modified.
Warning: Option Byte: nboot1, value: 0x1, was not modified.
Warning: Option Byte: nswboot0, value: 0x0, was not modified.
 
Warning: Option Bytes are unchanged, Data won't be downloaded
 
Old wireless stack delete ...
 
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
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          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:00.889
Application is running
Reconnecting...
Reconnected !
Firmware delete Success
Download firmware image at address 0x80ec000 ...
 
 
Memory Programming ...
Opening and parsing file: stm32wb5x_FUS_fw_1_0_2.bin
  File          : stm32wb5x_FUS_fw_1_0_2.bin
  Size          : 24492 Bytes
  Address       : 0x080EC000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [236 241]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:01.249
 
Firmware Upgrade process started ...
 
Application is running
Reconnecting...
Reconnected !
Error: FUS_STATE_IMG_NOT_AUTHENTIC
Error: fwupgrade Command Failure!
 
 
Old wireless stack delete ...
 
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
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          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
failed to erase memory
 
 
failed to erase memory
Failed to download FUS operator!
 
Old Firmware delete failed
 
 
C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade C:\Users\lawu103\Downloads\en.stm32cubewb_v1-5-0\STM32Cube_FW_WB_V1.5.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.4.0
      -------------------------------------------------------------------
 
ST-LINK SN  : 066FFF393738425043094736
ST-LINK FW  : V2J34M25
Voltage     : 3.21V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x495
Device name : STM32WB55xx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M0+/M4
 
 
UPLOADING OPTION BYTES DATA ...
 
  Bank          : 0x00
  Address       : 0x58004020
  Size          : 104 Bytes
 
██████████████████████████████████████████████████ 100%
 
 
PROGRAMMING OPTION BYTES AREA ...
Warning: Option Byte: nboot0, value: 0x1, was not modified.
Warning: Option Byte: nboot1, value: 0x1, was not modified.
Warning: Option Byte: nswboot0, value: 0x0, was not modified.
 
Warning: Option Bytes are unchanged, Data won't be downloaded
 
Old wireless stack delete ...
 
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
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          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:00.891
Application is running
Reconnecting...
Reconnected !
Firmware delete Success
Download firmware image at address 0x80ec000 ...
 
 
Memory Programming ...
Opening and parsing file: stm32wb5x_FUS_fw.bin
  File          : stm32wb5x_FUS_fw.bin
  Size          : 24492 Bytes
  Address       : 0x080EC000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [236 241]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:01.160
 
Firmware Upgrade process started ...
 
Application is running
Reconnecting...
Reconnected !
Firmware Upgrade Success
 
 
C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade C:\Users\lawu103\Downloads\en.stm32cubewb_v1-5-0\STM32Cube_FW_WB_V1.5.0\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_BLE_Stack_full_fw.bin 0x080CB000 firstinstall=1
      -------------------------------------------------------------------
                       STM32CubeProgrammer v2.4.0
      -------------------------------------------------------------------
 
ST-LINK SN  : 066FFF393738425043094736
ST-LINK FW  : V2J34M25
Voltage     : 3.21V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x495
Device name : STM32WB55xx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M0+/M4
 
 
UPLOADING OPTION BYTES DATA ...
 
  Bank          : 0x00
  Address       : 0x58004020
  Size          : 104 Bytes
 
██████████████████████████████████████████████████ 100%
 
 
PROGRAMMING OPTION BYTES AREA ...
Warning: Option Byte: nboot0, value: 0x1, was not modified.
Warning: Option Byte: nboot1, value: 0x1, was not modified.
Warning: Option Byte: nswboot0, value: 0x0, was not modified.
 
Warning: Option Bytes are unchanged, Data won't be downloaded
Download firmware image at address 0x80cb000 ...
 
 
Memory Programming ...
Opening and parsing file: stm32wb5x_BLE_Stack_full_fw.bin
  File          : stm32wb5x_BLE_Stack_full_fw.bin
  Size          : 161 KBytes
  Address       : 0x080CB000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [203 243]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:04.251
 
Firmware Upgrade process started ...
 
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
Succeed to set nSWboot0=0 nboot1=1 nboot0=1
 
 
Memory Programming ...
Opening and parsing file: 0x495_FUS_Operator.bin
  File          : 0x495_FUS_Operator.bin
  Size          : 11584 Bytes
  Address       : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 2]
Download in Progress:
 
 
File download complete
Time elapsed during download operation: 00:00:00.845
Application is running
Reconnecting...
Reconnected !
Firmware Upgrade Success

Furthermore, after the 1.1.0 upgrade, repeating these commands after this yields the same behaviour as before with Error: -- Reserved --.

So I guess it's nothing to worry about?

Remi QUINTIN
ST Employee

​No you should not worry about those messages. But I must admit that all these "spurious" messages are leading to too many questions from customers.

We should improve this.