cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB55, SFSA value is 0x00 (0x0800 0000). Is there a way to execute some code for CPU2 from RAM to modify the SFSA setting?

MRogg.1
Associate II

I think, I have "bricked" my STM32WB55 Nucleo board.

I can connect the board in system boot mode via ST-Link in ST-Programmer. The SFSA value is 0x00 (0x0800 0000).

Because SFSA can only be written by CPU2 and embedded flash is write protected:

Is there a way to execute some code for CPU2 from RAM to modify the SFSA setting?

7 REPLIES 7
AbidSulaiman
Associate III

Hi,

I don't think there is. I think you should try reprogram the BLE Stack.

Regards

MRogg.1
Associate II

Hi AbidSulaiman,

I have already tried this, reprogramming the BLE-stack is not possible, because the embedded flash is write protected.

Best regards

MRogg.1

MRogg.1
Associate II

I forgot to mention DDS=1 (CPU2 debug access disabled) and FSD=0 (System and Flash memory secure (the secure area of the Flash memory is given by SFSA)).

AbidSulaiman
Associate III

Hi,

if reprogramming the BLE Stack is unsuccessful, I think I cannot help you further.

Maybe someone from ST will answer this question.

Good luck.

Regards

Vyacheslav
Senior II

Hi, is you have any news about this problem?

I have many chips with that problem and i dont know how to resolve.

RByli.1
Associate

I have the same problem. During the erasure of all memory, sometimes the chip turns into a brick. Through st link, you can only read the memory. It is impossible to change anything. Sometimes this happens when the stack is loaded. Indeed, the ship register SFS A = 0. It is impossible to load the code either in FLASH or in RAM

I have a lot of such chips. I don't know what to do with them now.

Best regards

TheRom

BStic.2
Senior

Ok, Ive been searching all over for this answer and I just found it. Here: https://wiki.stmicroelectronics.cn/stm32mcu/wiki/Connectivity:STM32WB_FUS

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.

Hopefully you have an up-to-date FUS, otherwise its a brick for good.

This is what I did in STM32CubeProgrammer - Fill in the address, set the 8 and hit enter.

0693W00000aH7QOQA0.png