STM32WB55 (STEVAL-PROTEUS) - FUS Deadlock, Corrupted Versions, and USB/SWD Failure
Hello ST Community,
I am facing a critical issue with my STEVAL-PROTEUS1 board. The device is in a state where neither the wireless stack nor the application code can be updated or debugged.
1. Corrupted Device Information (SWD_READ_FUS.PNG)
When reading FUS info via ST-LINK (SWD), the device returns corrupted version numbers:
FUS Version: v68.39.fffffe0.7
STACK Version: vfffffff0.0.68.78
2. FUS & Wireless Stack Operation Failures (SWD-START-FUS.PNG / SWD-START-WIRELESS.PNG)
Attempting to start the FUS or Wireless Stack results in:
Error: FUS_STATE_ERR_UNKNOWN: Unknown error
Log: Start FUS Operation Failure! and Start Wireless Stack Operation Failure!
3. Flash Write & Verification Mismatch (SWD-UPLOAD-CODE.PNG)
I am unable to flash a standard application elf file. Even though the device is connected via SWD:
Error: Data mismatch found at address 0x08001000 (byte = 0x12 instead of 0x00)
4. USB DFU Mode Inconsistencies (USB-READ-FUS / USB-START-WIRELESS)
Switching to USB (PID: 0xDF11) shows inconsistent states:
In some cases, FUS reports FUS_STATE_ERR and FUS_NOT_RUNNING (USB-READ-FUS2.PNG).
Even when a command reports "Success" in the log (USB-START-WIRELESS2.PNG), the operation has no actual effect on the device state.
Critical Error: Any attempt to download code via USB fails with Error: failed to download Sector[0] (USB-UPLOAD-CODE.PNG).
5. IDE & Debugger Accessibility (STM32CUBEIDE.PNG)
Because of this deadlock, STM32CubeIDE cannot establish a connection:
Error: Connection timed out (localhost:61234). The GDB server is unable to halt or communicate with the core.
I have also attached my current Option Bytes configuration to see if there is a conflict in boot settings or memory protection that causes this deadlock. Any advice on the correct OB values for FUS recovery would be greatly appreciated.
Note: RDP is AA.
Environment Summary:
Hardware: STEVAL-PROTEUS (STM32WB55VGY)
Software: STM32CubeProgrammer v2.14.0
Connections: ST-LINK/V2-1 (Connect Under Reset) and USB DFU.
Questions for the Experts:
Given that Sector[0] is failing to download via USB and 0x08001000 is failing via SWD, how can I force a mass erase of the secure/non-secure flash?
Is there a specific Option Byte (nBOOT0, nSWBOOT0, or RDP level transition) that can break this FUS loop?
What is the recommended recovery procedure for corrupted FUS version reporting?
Any help or guidance would be greatly appreciated. Thank you!
