Loading New Firmware onto Write-Protected STM32 B-U585I
Hello,
I am working with an STM32 B-U585I development kit. The board has been previously used, and some protection-related configurations have been modified. I am now trying to perform new tests on the device, but I believe I am unable to bypass the current protection settings. I would appreciate your assistance on this matter.
A TFM application was previously installed on the board. When connecting via STM32CubeProgrammer, I observe the following:
1. Connection settings:
I connect with the following configuration:
- Boot0 = 1
- Port: SWD
- Mode: HotPlug
- Reset Mode: Hardware
2. STLinkUpgrade tool:
When opened, the ST-LINK is identified as:
- Type: STM32Debug+VCP
3. STM32CubeProgrammer observations:
- RDP = 0xDC (Level 1, read protection of memories)
- TrustZone = 1
- OEM1LOCK = 1
- OEM2LOCK = 0
I do have the required password to unlock RDP, and I am able to successfully unlock the RDP protection.
My development environment:
- STM32CubeIDE v1.19.0
To verify firmware download capability, I created a new STM32 project and tested the IOT_HTTP_WebServer example. The project builds successfully. However, when I try to flash the device in debug mode, I encounter the following error:
Problem occurred
“Launching IOT_HTTP_WebServer has encountered a problem
Error in final launch sequence:
Failed to execute MI command loadDetails:
Failed to execute MI command:
load ...IOT_HTTP_WebServer.elfError message from debugger back end:
Error finishing flash operation”
When I attempt the same operation with Boot0 = 1, I receive the error:
- “Failed to start GDB server”
Debug configuration:
- GDB Connection Settings: Autostart local GDB server
- Debug Probe: ST-LINK (ST-LINK GDB server)
- Interface: SWD
- Frequency: Auto
- Access Port: 0 - Cortex-M33
- Reset behavior type: Connect under reset
Could you please help me understand how I can successfully program this device again, considering the current protection settings?
Thank you in advance.
