This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

esb with softdevice - clock initialization failes (urgent)

Hi,

For my application I was using ESB without softdevice and just recently I wanted to add dfu so I had to add softdevice as well.

After adding softdevice I found out that my piece of code that is starting lfclk and hfclk is now failing.

void clocks_start( void )
{
    nrfx_clock_enable();

    nrfx_clock_hfclk_start();
    while (!nrfx_clock_hfclk_is_running())
                 ;

    nrfx_clock_lfclk_start();
    while (!nrfx_clock_lfclk_is_running())
                 ;
}

First symptom is that hfclk_is_running function never returns true. After commenting out that while() loop when application reach lfclk_start it simply stops execution - I think it gets stuck somewhere in softdevice.

I already tried to use softdevice api for requesting clocks and added softdevice enabling, but then I got some other weird errors - probably softdevice was clashing with ESB, but didn't invetigate it much further. Then I read somewhere that if application does not use softdevice - like in my case - I can just ignore it. But then the question is why this clock function is failing?

Hoping for a quick answer !

Michał

Related