2021-08-09 03:32 AM
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?
2021-08-09 03:57 AM
Hi,
I don't think there is. I think you should try reprogram the BLE Stack.
Regards
2021-08-09 04:03 AM
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
2021-08-09 04:07 AM
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)).
2021-08-09 04:15 AM
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
2023-02-13 01:33 AM
Hi, is you have any news about this problem?
I have many chips with that problem and i dont know how to resolve.
2023-02-16 03:39 AM
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
2023-02-17 10:33 AM
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.