is this and example of STM32G0 core lockup during a software reset?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-02-01 6:12 AM
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:
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?
Solved! Go to Solution.
- Labels:
-
STM32G0 Series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-05-29 12:41 PM - edited ‎2023-11-20 9:11 AM
Actually, I just figured out why this behaviour was occurring. This is from the STM32G030F6 device errata sheet:
I fixed it by:
- Flashing the app I wanted to debug
- disconnecting the debugger
- power cycling the pcba
- connecting the debugger (after app had already launched)
- now I can reset/reflash etc. as expected
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-02-01 7:26 AM
It's either the application was not flashed or unstable BOOT0 input - the bootloader is invoked instead of your application
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-05-29 12:24 PM - edited ‎2023-11-20 9:11 AM
The problem is that I have the option bytes configured to not care about the BOOT0 input (see screenshot below). From my research it seems like this should be impossible?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-05-29 12:41 PM - edited ‎2023-11-20 9:11 AM
Actually, I just figured out why this behaviour was occurring. This is from the STM32G030F6 device errata sheet:
I fixed it by:
- Flashing the app I wanted to debug
- disconnecting the debugger
- power cycling the pcba
- connecting the debugger (after app had already launched)
- now I can reset/reflash etc. as expected
