Can You Explain the Current Mode and Status of My Microcontroller?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-12 1:31 PM - edited ‎2025-03-12 1:33 PM
I am currently developing a board using the STM32WB09TEF7TR microcontroller.
Unfortunately, when the device is powered on, the microcontroller does not function properly.
It only starts working after manually resetting the reset pin.
To diagnose this issue, I am accessing the memory immediately after powering on the device in hot-plug mode to check its status.
The register bit log data is attached.
Could you help me understand the current state of this microcontroller?
Solved! Go to Solution.
- Labels:
-
STM32WB0 series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-12 2:53 PM
Connecting with STM32CubeProgrammer and examining the register values will let you know where code execution is at by looking at the PC register. Probably it is in 0x08xxxxxx somewhere, which means it's in user code, possibly waiting for a clock to start up.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-12 2:53 PM
Connecting with STM32CubeProgrammer and examining the register values will let you know where code execution is at by looking at the PC register. Probably it is in 0x08xxxxxx somewhere, which means it's in user code, possibly waiting for a clock to start up.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-12 3:07 PM - edited ‎2025-03-12 3:08 PM
Thanks for letting me know.
Now, I understood how to analyze the status of the microcontroller.
My system is held on 0x10043D34 address when power is on, which means that the machine is in the Flash memory area. (LR : 0x10043A35)
Do you have any idea what this address exactly means?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-12 3:22 PM
I found the function having problem.
That is MX_RTC_Init().
I'm checking it more detail...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-12 3:39 PM
I found that 0x10043D34 is a "while" function in the Error_Handler.
So, a Problem happened here, LR : 0x10043A35 (MX_RTC_Init).
Now I can understand the detailed situation...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-12 4:44 PM
Insufficient LSE startup time is a somewhat common issue that causes this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2025-03-13 7:10 AM
I want to conclude here.
This microcontroller is held on the "while" in the Error_Handler function.
So, I put the software restart command in the while function to address the initial booting problem like below.
void Error_Handler(void)
{
__disable_irq();
while (1)
{
NVIC_SystemReset();
}
}
