2020-11-03 05:17 AM
Here is my process :
In most of the case (90%), the device wakes up once the battery is wired (normal behaviour). However in some cases, the device does not wake up at all (Voltage is OK).
I'm using IWDG, thus MCU should restart if stuck. But in this case device seems totally stuck in the Reset_Handler (quite sure it is here). I need to pull down the NRST to GROUND to unstuck the device.
Is this because of the power cut-off ?
Can I add some firmware feature to avoid this behaviour ?
Note : quite similar problem but closed without reply : https://community.st.com/s/question/0D50X00009XkXkoSAF/stm32f410-freeze-after-power-supply-failure-of-70-ms-watch-dog-doesnt-reset-
2020-11-03 08:02 AM
If the code is getting into Reset_Handler (how do you know?), you need to find out why it's getting there and correct the issue. It could be prior to the IWDG being enabled. It could be your voltage/wait state setting is causing issues. You can attach a debugger without resetting the device to inspect the chip.
Disabling power suddenly should not cause this problem, especially if BOR is enabled.
2020-11-03 08:58 AM
Thank you for your reply @TDK .
I did attach a segger (and a st-link) on 2 devices with this issue (without resetting ofc) . When attached, the code was paused in the startup file in the Reset_Handler :
.section .text.Reset_Handler
.weak Reset_Handler
.type Reset_Handler, %function
Reset_Handler:
ldr sp, =_estack /* Atollic update: set stack pointer */
/* Copy the data segment initializers from flash to SRAM */
movs r1, #0
b LoopCopyDataInit
CopyDataInit:
ldr r3, =_sidata
ldr r3, [r3, r1]
str r3, [r0, r1]
adds r1, r1, #4
LoopCopyDataInit:
ldr r0, =_sdata
ldr r3, =_edata
adds r2, r0, r1
cmp r2, r3
bcc CopyDataInit
ldr r2, =_sbss
b LoopFillZerobss
/* Zero fill the bss segment. */
Then I moved in the firmware step by step. The code went in the Loop here above. Thus, I clicked on resume and my device woke up "alone".
(By the way, when I was attached, IDE said that I had no Hard Fault error)
What do you mean by "it could be prior to the IWDG being enabled" ?
2020-11-03 09:24 AM
Maybe on flashing you use lock MCU to LEVEL 1 . You write about unplug USB, but is unpluged too STLINK?
After set RDP full power down is required. But maybe you dont use RDP, then ...
Is guaranteed full power down before attach bat?
2020-11-25 01:06 AM
Hello @MM..1 , sorry to reply that late, I did not have the time to test further.
2021-01-19 10:41 PM
you can see some of these solution here on braces there are so many solution about these problems that you are also facing i got it when received the problem in my device my friend recommends this website you can see on the above side.