My app runs the following code, that is supposed to init the SoftDevice:
nrf_clock_lf_cfg_t clock_lf_cfg = {
.source = NRF_CLOCK_LF_SRC_XTAL,
.xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM,
};
// Initialize the SoftDevice handler module.
SOFTDEVICE_HANDLER_INIT (&clock_lf_cfg, NULL);
Inside the last macro, the call to sd_softdevice_enable() freezes and never returns, nor jumps to the softdevice_fault_handler.
I have already tried executing the following code to successfully ensure that the lfck is running:
bool started = nrf_drv_clock_lfclk_is_running();
NRF_CLOCK->LFCLKSRC = (CLOCK_LFCLKSRC_SRC_RC << CLOCK_LFCLKSRC_SRC_Pos);
NRF_CLOCK->EVENTS_LFCLKSTARTED = 0;
NRF_CLOCK->TASKS_LFCLKSTART = 1;
while (NRF_CLOCK->EVENTS_LFCLKSTARTED == 0)
{
// Do nothing.
}
started = nrf_drv_clock_lfclk_is_running();
Yet, sd_softdevice_enable freezes.
Is there anything i can do to get the code up and running?
It only started to freeze on a new board, on another board it worked.
I do sadly not have any technical documentation about the current board, though...