0

Using a STM32G0F06

I have a bootloader/application that I am debugging. I am facing a strange problem. Often, I command the app to drop to bootloader (via a software reset). When I execute the software reset code, occasionally the core locks up.

Here is a video showing the core registers and the disassembly as I step debug through the reset code:

https://youtu.be/8SxjNWpSIss

A couple of questions:

  • Is this a MCU core lockup? If not, what is it? Does the PC go to 0x1FFF19A6 during a core lockup, or is that just random?
  • How come the IWDG I have configured does not reset the MCU after it has locked up?
  • Does it get locked up to? Is there some way I can programmatically recover from a core lockup:
    • MCU pulls its' own external reset pin low?
macdonaldtomw
  • 1,420
  • 17
  • 32
  • `0x1FFF19A6` is in the "System Memory" block, which contains the device's built-in bootloader. Have you configured any of the `nBOOTx` bits in the Option byte and/or pulled the BOOT0 pin high? – brhans Feb 01 '23 at 15:20
  • That makes sense! Looking at the datasheet, that address is located in the "System Memory" block indeed. I have SET all the nBOOTx pins, and I have a 5.6k pulldown resistor on the BOOT0 pin – macdonaldtomw Feb 01 '23 at 17:39

0 Answers0