2025-10-28 7:18 AM
Hello everyone, I am facing a serious problem setting up the BLE_AT_Client example on my B-U585I-IOT02A board, as flashing the STM32WB5MMG radio module fails.
Initial situation and cause of error
The problem started when I aborted the flashing of the FUS firmware (stm32wb5x_FUS_fw.bin) via CN5 (external ST-LINK). Since then, the radio module has been in an inconsistent state.
Error pattern and steps taken
The main problem is that I can no longer completely flash the three essential server files (FUS, BLE Stack, BLE_AT_Server).
1. Connection: The connection to the STM32WB5MMG via CN5 (external ST-LINK) can be established in STM32CubeProgrammer (with low frequency: 4000 kHzand soft ware reset).
2. RDP status: The Readout Protection (RDP) level is set to level 0 (AA) (no memory protection).
3. Mass Erase: A ‘Full Chip Erase’ works, proving that the memory is not hard locked.
4. Programming error: Immediately after the mass erase, any attempt to flash the FUS file (stm32wb5x_FUS_fw.bin at 0x080EC000) fails. I receive error messages such as ‘Error: failed to erase memory’ or ‘failed to write memory’ (even though the memory was previously erased).
My question to the community
What other recovery measures or specific timing workarounds are available via STM32CubeProgrammer to force the WB5MMG module to accept the FUS file when empty?
Are there specific option bytes (other than RDP) that could block writing?
Is there a method to force the FUS flash via the command line interface (CLI) or hardware manipulation of the reset pin during the write process if ‘Skip Erase’ and low frequency fail?
Thank you very much for any help!