STM32F7 WWDG usable with HAL busy waits and long timeouts?
I have a C project on an STM32F745 that uses various HAL libraries.
Today I have enabled the WWDG (Windowed Watchdog.) I set the registers directly as I find that easier to understand and did this right at the start of main() to offer best protection against a lockup.
However, my application is resetting early on, sometimes before I have enabled interrupts, so it doesn't reach my crash reporter from the watchdog EWI handler. By adding status codes I have tracked the problem down to a timeout in the HAL code (HAL_RTC_Init)
I then remembered that there are large numbers of long timeouts or busy waits in HAL. e.g. there was a 5 second delay in the ethernet initialisation code.
The RTC code has a 1 second timeout. The WWDG has a maximum timeout in milliseconds.
How is HAL supposed to work with WWDG? Am I missing something, or is it just incompatible and I'll need to rewrite it? I already re-wrote the ETH_Init as the busy waits were unacceptable for my application.
James
