Skip to main content
Explorer II
February 13, 2025
Question

STM32H743 standby mode and IWDG only works after power cycle ?

  • February 13, 2025
  • 2 replies
  • 574 views

Hello,

I have an STM32H743 on a custom application PCB and I need to use the IWDG as well as the standby mode to save precious battery current.

I have noticed the following strange behavior:

1 - I mass erase the STM32H743 using STM32CubeProgrammer

2 - I read the options bytes and confirm that the FZ_IWDG_STBY is unchecked. So the independent watchdog is not running when the STM32H743 is in standby mode.

3 - I program my application to the STM32H743 then I disconnect STM32CubeProgrammer as well as the STLink-V3MINIE from the PCB

4 - I send the command (custom communication over USB) to put the STM32H743 into standby mode. However, at this point, the IWDG wakes up the STM32H743 after it expires as it was still running!

5 - I power cycle the board and I send again the command to put the STM32H743 into standby mode. Now it works as expected, the IWDG does not wake up the STM32H743. This correct behavior is maintained afterward.

 

While this behaviour is acceptable in production, as the board are power cycled before being shipped into the field, it is annoying when debugging the project as we need to comment out the IWDG initialization to properly debug.

 

I wrote code that try to program the option bytes and it seems to work... only after a power cycle again! I attached my code for the Watchdog and the standby mode entry if that can help you find a solution.

Thank you for taking the time to look at my problem.

    This topic has been closed for replies.

    2 replies

    ST Employee
    February 18, 2025

    Hello @abaril_catalys

    Try, after programming the option bytes, force a system reset using the NVIC_SystemReset() function in your code, to ensure that the new configuration takes effect

    Explorer II
    February 25, 2025

    Hi Sarra,

     

    Sadly, it doesn't work calling NVIC_SystemReset(). While the MCU reset and restart the program, the IWDG still wakes up the STM32H7 when calling HAL_PWR_EnterSTANDBYMode().

    I really need to do a system reset for the low power function to work!