2023-03-02 04:48 AM
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:
results in Error: FUS_STATE_ERR_UNKNOWN
(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
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
2023-03-09 01:20 AM
Still no success, latest try was reducing the stlink speed to 100kHz.
2023-03-09 01:22 AM
Same here
2024-03-07 01:15 AM
Refer this wiki for such issues: STM32WB Firmware Upgrade Service - stm32mcu (stmicroelectronics.cn)
See section FAQ.
Most of the time, safeboot is triggered due to corruption in option bytes or voltage fluctuations. See specifically
Accidentally, I got SFSA = 0x00 and SBRV= 0x3FC00 what's happened? | This is due to option byte corruption, or to supply voltage or level stability. This configuration of the SFSA/SBRV option bytes means that the STM32WB hardware forces the boot to Safeboot whatever the firmware being run. To activate Safeboot and perform a factory reset the user must activate the Cortex-M0+ by writing the value 0x00008000 to address 0x5800040C using the SWD interface. If a FUS version lower than V1.1.0 is running, then no recovery is possible at this point. |