cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to brick FUS 1.2?

TillerBelotti
Associate II

I had my NUCLEO-WB15CC running stack full v1.15 and today I decided to upgrade it to v1.16 and got "Warning: FUS_STATE_ERR_UNKNOWN". And now I have no stack and I'm unable to install it.

And I can't even start FUS, when I try, I get those errors:

Error: FUS_STATE_ERR_UNKNOWN: Unknown error

Start FUS failed !

Error: Start FUS Operation Failure! Please, try again

My problem is very similar to this, but I have latest FUS. IPCCDBA is 0x00, SBRV is 0x8400 and SFSA 0x31

4 REPLIES 4
Remi QUINTIN
ST Employee

Strange. It looks like the SBRV is not aligned with the expected start address of the FUS code which should be 0x08F40000. So, you are not executing the FUS code but some other code. This is why the FUS state cannot be determined. At least the FUS is not running.

To activate it, you may have to send the command START FUS twice and then check whether the SBRV is aligned with the start of the FUS code.

TillerBelotti
Associate II

Unfortunately, FUS don't start even sending multiple START FUS or GET_FUS_STATE commands, it keeps returning error 0xFF (unknown), even using cube programmer (FUS_STATE_ERR_UNKNOWN: Unknown error)

Cube programmer CLI output:

PS C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> ./STM32_Programmer_CLI.exe -c port=swd -startfus

     -------------------------------------------------------------------

                      STM32CubeProgrammer v2.13.0

     -------------------------------------------------------------------

ST-LINK SN : 0669FF303839414257095650

ST-LINK FW : V2J40M27

Board      : NUCLEO-WB15CC

Voltage    : 3.27V

SWD freq   : 4000 KHz

Connect mode: Normal

Reset mode : Software reset

Device ID  : 0x494

Revision ID : Rev Z

Device name : STM32WB1xxx

Flash size : 320 KBytes

Device type : MCU

Device CPU : Cortex-M4

BL Version : 0xB1

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.016

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x494_FUS_Operator.bin

 File         : 0x494_FUS_Operator.bin

 Size         : 8.00 KB

 Address      : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 3]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.359

Application is running, Please Hold on...

Reconnecting...

Reconnected !

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN: Unknown error

Error: Fus is not yet running, try again

PS C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> ./STM32_Programmer_CLI.exe -c port=swd -startfus

     -------------------------------------------------------------------

                      STM32CubeProgrammer v2.13.0

     -------------------------------------------------------------------

ST-LINK SN : 0669FF303839414257095650

ST-LINK FW : V2J40M27

Board      : NUCLEO-WB15CC

Voltage    : 3.27V

SWD freq   : 4000 KHz

Connect mode: Normal

Reset mode : Software reset

Device ID  : 0x494

Revision ID : Rev Z

Device name : STM32WB1xxx

Flash size : 320 KBytes

Device type : MCU

Device CPU : Cortex-M4

BL Version : 0xB1

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.016

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x494_FUS_Operator.bin

 File         : 0x494_FUS_Operator.bin

 Size         : 8.00 KB

 Address      : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 3]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.359

Application is running, Please Hold on...

Reconnecting...

Reconnected !

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN: Unknown error

Error: Fus is not yet running, try again

PS C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> ./STM32_Programmer_CLI.exe -c port=swd -startfus

     -------------------------------------------------------------------

                      STM32CubeProgrammer v2.13.0

     -------------------------------------------------------------------

ST-LINK SN : 0669FF303839414257095650

ST-LINK FW : V2J40M27

Board      : NUCLEO-WB15CC

Voltage    : 3.27V

SWD freq   : 4000 KHz

Connect mode: Normal

Reset mode : Software reset

Device ID  : 0x494

Revision ID : Rev Z

Device name : STM32WB1xxx

Flash size : 320 KBytes

Device type : MCU

Device CPU : Cortex-M4

BL Version : 0xB1

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.016

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x494_FUS_Operator.bin

 File         : 0x494_FUS_Operator.bin

 Size         : 8.00 KB

 Address      : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 3]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.343

Application is running, Please Hold on...

Reconnecting...

Reconnected !

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN: Unknown error

Error: Fus is not yet running, try again

PS C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> ./STM32_Programmer_CLI.exe -c port=swd -startfus

     -------------------------------------------------------------------

                      STM32CubeProgrammer v2.13.0

     -------------------------------------------------------------------

ST-LINK SN : 0669FF303839414257095650

ST-LINK FW : V2J40M27

Board      : NUCLEO-WB15CC

Voltage    : 3.27V

SWD freq   : 4000 KHz

Connect mode: Normal

Reset mode : Software reset

Device ID  : 0x494

Revision ID : Rev Z

Device name : STM32WB1xxx

Flash size : 320 KBytes

Device type : MCU

Device CPU : Cortex-M4

BL Version : 0xB1

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.000

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x494_FUS_Operator.bin

 File         : 0x494_FUS_Operator.bin

 Size         : 8.00 KB

 Address      : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 3]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.360

Application is running, Please Hold on...

Reconnecting...

Reconnected !

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN: Unknown error

Error: Fus is not yet running, try again

PS C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>

TillerBelotti
Associate II

Tried with bootloader...

Bootloader:

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> ./STM32_Programmer_CLI.exe -c port=COM3 -startfus

     -------------------------------------------------------------------

                      STM32CubeProgrammer v2.13.0

     -------------------------------------------------------------------

Serial Port COM3 is successfully opened.

Port configuration: parity = even, baudrate = 115200, data-bit = 8,

                    stop-bit = 1.0, flow-control = off

Activating device: OK

Board      : --

Chip ID: 0x494

BootLoader protocol version: 3.2

Response received from device: NACK

Error: GETID command not acknowledged!

Reemission of GetID command

Option Bytes Programming is not supported for Device: 0x0494

Failed to initialize the Option Bytes

Fus is not yet running, try again

PS C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> ./STM32_Programmer_CLI.exe -c port=COM3 -startfus

     -------------------------------------------------------------------

                      STM32CubeProgrammer v2.13.0

     -------------------------------------------------------------------

Serial Port COM3 is successfully opened.

Port configuration: parity = even, baudrate = 115200, data-bit = 8,

                    stop-bit = 1.0, flow-control = off

Activating device: OK

Board      : --

Chip ID: 0x494

BootLoader protocol version: 3.2

Response received from device: NACK

Error: GETID command not acknowledged!

Reemission of GetID command

Option Bytes Programming is not supported for Device: 0x0494

Failed to initialize the Option Bytes

Fus is not yet running, try again

PS C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin> ./STM32_Programmer_CLI.exe -c port=COM3 -startfus

     -------------------------------------------------------------------

                      STM32CubeProgrammer v2.13.0

     -------------------------------------------------------------------

Serial Port COM3 is successfully opened.

Port configuration: parity = even, baudrate = 115200, data-bit = 8,

                    stop-bit = 1.0, flow-control = off

Activating device: OK

Board      : --

Chip ID: 0x494

BootLoader protocol version: 3.2

Response received from device: NACK

Error: GETID command not acknowledged!

Reemission of GetID command

Option Bytes Programming is not supported for Device: 0x0494

Failed to initialize the Option Bytes

Fus is not yet running, try again

TillerBelotti
Associate II

With J-Link...

Connecting to target via SWD

Found SW-DP with ID 0x6BA02477

DPIDR: 0x6BA02477

CoreSight SoC-400 or earlier

Scanning AP map to find all available APs

AP[2]: Stopped AP scan as end of AP map has been reached

AP[0]: AHB-AP (IDR: 0x24770011)

AP[1]: AHB-AP (IDR: 0x84770001)

Iterating through AP map to find AHB-AP to use

AP[0]: Core found

AP[0]: AHB-AP ROM base: 0xE00FF000

CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)

Found Cortex-M4 r0p1, Little endian.

FPUnit: 6 code (BP) slots and 2 literal slots

CoreSight components:

ROMTbl[0] @ E00FF000

[0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7

[0][1]: E0001000 CID B105E00D PID 003BB002 DWT

[0][2]: E0002000 CID B105E00D PID 002BB003 FPB

[0][3]: E0000000 CID B105E00D PID 003BB001 ITM

[0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU

[0][6]: E0043000 CID B105900D PID 005BB906 CTI

SetupTarget() start

CORE ID AP[0]: 0x410FC241

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Requesting FUS idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

IPCC channel unexpectedly ocupied.

FUS: Warning: Could not send command.

FUS: Waiting for idle...

FUS: Error. FUS could not be started. Please:

1. Power-cycle the device.

2. Reconnect to the device.

3.Reset the device.

If this does not help, please make sure device is in system boot mode and try again.

SetupTarget() end

Cannot connect to target.