Case of Infinite loop of RTC
There is a situation with RTC of RTC get into infinite loop in file stm32f7xx_hal.c.
In the function HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef* hrtc)
lines
while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) {
if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE)
{
return HAL_TIMEOUT;
}
}
We encounter a situation that LSE is configured and works and RTC got into infinite loop in this while loop.
HAL_GetTick did not produce any ticks due to intermittent HW error, and it cause infinite loop.
Anyway, did STM think about the meaning that a device stop working due that this loop.
Programming in while loop with out any option to opt out is wrong.
There is easy solution but this is HAL driver which we would not like to change.
Any other solution from STM?
Thank you.
Elik
