Skip to main content
dimax
Associate III
March 3, 2021
Question

Unbrick P-NUCLEO-WB55 board

  • March 3, 2021
  • 12 replies
  • 2179 views

Hello, after playing a bit with P-NUCLEO-WB55 pack I bricked the board.

The board is visible by Cube Programmer in DFU mode. Programmer can see the ST-Link but ST-Link does not detect the target.

  1. Are there any suggestions to recover ST-Link connection to STM32WB ?
  2. Is there a FW image containing FUS, BLE Stack and Application to bring the board to it's initial (factory) state?

Thanks.

This topic has been closed for replies.

12 replies

Uwe Bonnes
Chief
March 3, 2021

Did you try "connect under reset"?

dimax
dimaxAuthor
Associate III
March 3, 2021
No.
Please explain how I should do it?
Connect ST-Link USB while CPU reset is held?
dimax
dimaxAuthor
Associate III
March 4, 2021

If I hold RESET ST-Link properly detects it and reports:

12:11:21 : Error: ST-LINK error (DEV_TARGET_HELD_UNDER_RESET)

Regular Connect attempt ends up with:

 12:11:29 : ST-LINK SN : 066AFF313335415043153630

 12:11:29 : ST-LINK FW : V2J33M25

 12:11:29 : Board    : P-NUCLEO-WB55

 12:11:29 : Voltage   : 3.26V

 12:11:29 : Error: No STM32 target found!

Mike_ST
ST Technical Moderator
March 4, 2021

You might have to release the reset button right after you clicked on "connect" in the GUI.

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. 
dimax
dimaxAuthor
Associate III
March 4, 2021

Thanks a lot it worked.

Do I get it right that FW was doing something that prevented ST-Link from communicating with CPU ?

Mike_ST
ST Technical Moderator
March 4, 2021

Your software probably changes the SWDIO/SWCLK pins configuration (PA13/PA14) right after it starts,

or makes your MCU go into sleep mode.

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. 
dimax
dimaxAuthor
Associate III
March 4, 2021

OK.

I went on and erased all Flash sectors. Starting from 0x0800_0000 up to 0x080F_F000.

So I assume I have now a virgin clean CPU.

Should I start now with FUS programming?

dimax
dimaxAuthor
Associate III
March 4, 2021

Well, this time it failed.

13:12:59 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

 13:12:59 : Warning: Option Byte: nboot0, value: 0x1, was not modified.

 13:12:59 : Warning: Option Byte: nboot1, value: 0x1, was not modified.

 13:12:59 : Warning: Option Bytes are unchanged, Data won't be downloaded

 13:12:59 : Succeeded to set nSWboot0=0 nboot1=1 nboot0=1 

 13:12:59 : Memory Programming ...

 13:12:59 : Opening and parsing file: 0x495_FUS_Operator.bin

 13:12:59 :  File     : 0x495_FUS_Operator.bin

 13:12:59 :  Size     : 11584 Bytes

 13:12:59 :  Address    : 0x08000000 

 13:12:59 : Erasing memory corresponding to segment 0:

 13:12:59 : Erasing internal memory sectors [0 2]

 13:12:59 : Download in Progress:

 13:12:59 : File download complete

 13:12:59 : Time elapsed during download operation: 00:00:00.354

 13:12:59 : Application is running

 13:13:07 : Reconnecting...

 13:13:07 : Reconnected !

 13:13:07 : Error: FUS_STATE_ERR_UNKNOWN

Mike_ST
ST Technical Moderator
March 4, 2021

What FUS version is present in the MCU now ?

What version are you trying to flash and at what address ?

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. 
dimax
dimaxAuthor
Associate III
March 4, 2021

There is no FUS. The whole MCU is erased.

I'm trying to flash 1.11.0 at the address 0x080EC000 according to Release Notes.

BTW, it looks like ST-Link is trying to upload first something temporary at 0x0800_0000:

13:12:59 : Opening and parsing file: 0x495_FUS_Operator.bin

 13:12:59 :  File     : 0x495_FUS_Operator.bin

 13:12:59 :  Size     : 11584 Bytes

 13:12:59 :  Address    : 0x08000000 

I would say it's pretty tricky as it would erase a piece of application FW if it were programmed to flash before. Isn't it?

Mike_ST
ST Technical Moderator
March 4, 2021

>> BTW, it looks like ST-Link is trying to upload first something temporary at 0x0800_0000

>> I would say it's pretty tricky as it would erase a piece of application FW if it were programmed to flash before. Isn't it?

It's normal, it is the way it is working and the F.U.S is not supposed to be updated so often.

Please try to update the FUS with version v1.1.2, which is in STM32WB firmware package V1.10.1 / 15-January-2021

https://www.st.com/en/embedded-software/stm32cubewb.html

Please read:

https://www.st.com/resource/en/application_note/dm00513965-st-firmware-upgrade-services-for-stm32wb-series-stmicroelectronics.pdf

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. 
dimax
dimaxAuthor
Associate III
March 4, 2021

To clarify: I'm running from the FUS screen of the Programmer and not from the "Erasing & Programming".

(Not sure what is the difference between them)