We encounter 52810 freezing problem.
It occurses in low probability less than 1 out of 1000.
Power-on reset is no use for this problem.
The freezed 52810 chip restored when we erase and reprogram it with the same soft.
We also trace the problem in the freezed 52810 chip by J-Link Debugger.
And find it stoppes in LF Clock init at user application.
The freezed part of source is below
static nrf_drv_clock_handler_item_t m_clock_handler_item = {
.p_next = NULL,
.event_handler = clock_event_handler,
};
static void clock_event_handler(nrf_drv_clock_evt_type_t event)
{
if (event == NRF_DRV_CLOCK_EVT_LFCLK_STARTED) {
lfclk_started = 1;
}
}
void clock_lfclk_start(void)
{
lfclk_started = 0;
nrf_drv_clock_lfclk_request(&m_clock_handler_item);
while (lfclk_started == 0) { }
}
The while loop in clock_lfclk_start function will be breaked when the callback routine executed by LF CLK STARTED irq.
But it seems there is no LF CLK STARTED irq assert in problem 52810 chip.
There is only 32M HF crystal outside 52810 in our board, and NRFX_CLOCK_CONFIG_LF_SRC is 2(SYNTH).
We are using SDK v15.0.0
Do you have any idea about this issue?