2026-01-21 2:46 AM
The Errata sheet for STM32G030x6/x8, ES0486 - Rev 6, states in chapter 2.2.9:
After connecting the debug interface and until the device power-down, the boot source upon reset or wakeup from a low-power mode is determined by the PA14-BOOT0 pin level before connecting the debug interface (stored by the device), as opposed to the actual PA14-BOOT0 pin level. The device power-up restores the operation of the PA14-BOOT0 pin as direct boot source selector.
But this also applies to the empty check: if the debug interface is connected, the empty check is only updated on device power-up (reset is not sufficient).
So, if you program an empty device with the STM32CubeIDE in order to debug the software, you need to stop the first debugging session, perform a power cycle and start the next debugging session. Otherwise, the µC will keep executing the bootloader and debugging will fail with “Break at address 0x1f… with no debug information available, or outside of program code”.
2026-01-26 1:19 AM
Hello,
Remark raised internally for analysis. internal ticket 225880 for follow-up.
2026-01-27 12:34 AM
Hello,
Getting the feedback from the internal team:
"The difference between boot behavior when debugger is connected and not is driven by the security constraints.
There's no way of distinguishing development from attack when the MCU is booting and detects debugger connection. There are other cases when the behavior is different, for example OB programming.
The idea is to latch the state before debug connection and prevent the potential attacker from easily altering the device boot sequence."
2026-01-27 1:06 AM
So, this confirms the observed behavior. It would be great to have the information updated in the errata sheet and/or the reference manual.