cancel
Showing results for 
Search instead for 
Did you mean: 

STSPIN32G4 not detected after first programming – Boot0 not exposed

suyog1
Visitor

Hello,

I’m working with the STSPIN32G4. I was able to program the MCU once successfully, but since then neither STM32CubeIDE nor STM32CubeProgrammer are able to detect it anymore.

The main issue is that I did not expose the BOOT0 pin on my board, so I can’t easily force it into system bootloader mode.

Has anyone faced a similar issue?

  • Is there any workaround without physical access to the BOOT0 pin?

  • Would SWD still work if the application firmware misconfigured the debug pins?

  • Any suggestions for recovering the MCU in this situation?

I’d really appreciate any help or guidance.

Thanks in advance!

suyog1_0-1755507639815.pngsuyog1_1-1755507662285.png

suyog1_2-1755507737042.png

 

1 ACCEPTED SOLUTION

Accepted Solutions
Ozone
Principal

> The main issue is that I did not expose the BOOT0 pin on my board, so I can’t easily force it into system bootloader mode.

This is probably a lapse you make only once. But a mass erase / de-bricking through the system bootloader is very common during development.

Your firmware probably hangs in a fault handler, or has locked up due to a critical error in a default handler.
As mentioned, you will need the BOOT0 pin.
Perhaps solder a wire contraption with a removable jumper to the pin.

In theory you can try to catch the core with the debugger after power-on reset before it faults, but the probability is close to zero.

View solution in original post

3 REPLIES 3
AScha.3
Super User

Hi,

BOOT0  has to be on GND level. No workaround , if used as BOOT0 .

Otherwise try connect under reset (with hardware reset , nrst connected);

then set option bytes ...to not use BOOT0 pin as BOOT0 .

from rm STM32G4 :

AScha3_0-1755510729850.png

 

If you feel a post has answered your question, please click "Accept as Solution".

But I was able to program it using SWD once.

Ozone
Principal

> The main issue is that I did not expose the BOOT0 pin on my board, so I can’t easily force it into system bootloader mode.

This is probably a lapse you make only once. But a mass erase / de-bricking through the system bootloader is very common during development.

Your firmware probably hangs in a fault handler, or has locked up due to a critical error in a default handler.
As mentioned, you will need the BOOT0 pin.
Perhaps solder a wire contraption with a removable jumper to the pin.

In theory you can try to catch the core with the debugger after power-on reset before it faults, but the probability is close to zero.