cancel
Showing results for 
Search instead for 
Did you mean: 

Issue: Attempting to flash firmware onto coprocessor on STM32WB55RGV6 results in Error: FUS_STATE_ERR_UNKNOWN

pedrocasanova
Associate

Greetings,

I have my STM32WB55RGV6 connected to my computer through USB using the ST-LINK port on the board. When trying to flash the coprocessor to run an example application from the WB firmware package, I cannot even erase the previous firmware.

Using the commands from the attached link results in an error to erase the firmware, with message FUS_STATE_ERR_UNKNOWN. I have no problems flashing the main processor with binaries using this tool or armKEIL, but for some reason I cannot get the hang of this. I have even tried following the release notes addresses for programming but nothing seemed to work.

Does anybody have a solution for this issue?

Thank you for your attention, I have added some screenshots below to make my issue easier to understand.

1- Initial Connection using st-link

0693W000001t6TwQAI.png

2- attempting to erase firmware0693W000001t6TcQAI.png

3- attempting to flash FUS firmware

0693W000001t6UBQAY.png

4 and 5 - Attempting to flash BLE full stack firmware

0693W000001t6ULQAY.png

0693W000001t6UVQAY.png

Pedro Casanova

1 ACCEPTED SOLUTION

Accepted Solutions
eddie McS
Associate III

So just to recap, this nucleo is so old it wont work with the latest FUS? I will need to get a new one to work correctly.

View solution in original post

18 REPLIES 18
pedrocasanova
Associate

The guide I use is from this page, for some reason the link is not working: https://www.st.com/en/development-tools/stm32cubeprog.html

Remi QUINTIN
ST Employee

The link is working fine for me.

Regarding the issue, I recommend to set the RDP option byte to 0xBB (level 1) and then 0XAA (Level 0) with the PCROP_RDP set to 1. this triggers a mass erase of the user flash memory except the FUS area protected by the SFSA pointer.

eddie McS
Associate III

I'm having the same problem of Error: FUS_STATE_ERR_UNKNOWN every time I try to program the FUS or stack on the STM32WB. My P-NUCLEO-WB55 dev board is one of the originals from March 2019 could this be the issue?

Thanks

Remi QUINTIN
ST Employee

​Which  port are you using to program the NUCLEO board?

Could you download the option bytes?

Using the USB port, could you check the value at 0x20030030?

Can you detail the sequence of commands you are using?

eddie McS
Associate III

I have being programming the NUCLEO through SWD.

Yes i'm using the STM32CubeProgrammer GUI and i have successfully written the option byte RDP and PCROP_RDP as you have previously suggested however with still no success.

I have checked the values with SWD and they are all zero. Does this need to be done with USB?

0693W000003Pf8mQAC.png

I'm using the firmware upgrade section of the GUI to upgrade stm32wb5x_FUS_fw_1_0_2.bin at start address 0x080EC000 and stm32wb5x_BLE_Stack_full_fw.bin to start address 0x080CB000

0693W000003PfCZQA0.png

I'm not sure what else to try.

Thanks

Remi QUINTIN
ST Employee

​When using the SWD port, the Device Info Table (DIT) is not located at the same address as the one use with the USB port.

When using UART/USB port, the DIT is located at 0x20030024. hence the FUS version is expected at address 0x20030030.

When using SWD port, the DIT is located ar 0x20030890. Hence the FUS version is expected at address 0x2003089C but only when the FUS is still active.

This is why you see all these zeroes in 0x20030024.

Now display the OB screen with all the option bytes, especially the user configuration and the security configuration.

You may get errors when trying to update a FUS which version is already the one installed.

eddie McS
Associate III

The OB screen

0693W000003PfZOQA0.png

I'm not sure of the version of FUS. Is there a way to tell with the GUI?

Thanks

Remi QUINTIN
ST Employee

​The picture is not readable.

What is the value of SFSA and SBRV options bytes?

You cannot read the FUS version using the SWD port in GUI mode.

Display the memory section starting from 0x20030890.

eddie McS
Associate III

Sorry thought it would of given you the option to download and zoom-in.

The values:

SFSA - 0xd4

SBRV - 0x35000

The memory from 0x2003089

0693W000003PfpgQAC.png

Thanks