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

internal rc slow clock problems with sdk12 and sdk14

For ble central devices on nrf52, there are problems with the internal rc slow clock. When I load the project ble_app_uart_c onto the PCA10040, everything works as expected. The only thing changed is to set the LF source to 0 for internal rc, CTIV = 12 and TEMP_CTIV = 2 as the recommended values. The dev kit works as expected on sdk12 and sdk14. On my custom device which is the same except without the external low frequency crystal, sdk14 crashes on startup with an invalid instruction hard fault that happens within the softdevice. With sdk12, it runs and is able to scan and advertise, but connecting fails every time, which is this issue I reported here devzone.nordicsemi.com/.../

We are going to add the external slow clock to our next revision but this seems like a pretty serious bug that we would like to see fixed soon.

Parents
  • Sorry to revive this old thread but I am having this same issue with using the RC clock source and the bootloader in SDK 14.2. Symptoms are that the board won't run until given an external kick - all it requires is JLINK to be connected once (not even debugger connected) and then the board runs and can be disconnected from the programmer.

    If I flash just the application without the bootloader (so the Softdevice handles clock initialisation) then the board runs fine without the need for the initial JLINK kick.

    I have eliminated a clock configuration issue - I've traced through the bootloader initialisation and it is pulling the correct values from sdk_config.h when making the call to nrf_drv_clock_init.

    My suspicion is that the clock initialisation code in the SDK 14 bootloader is missing a step necessary to start the RC oscillator. This wouldn't be immediately obvious on the DK board as the debug interface would generally be active and this seems to be enough to kick the RC into life.

    This is driving me crazy - any help would be gratefully received!

Reply
  • Sorry to revive this old thread but I am having this same issue with using the RC clock source and the bootloader in SDK 14.2. Symptoms are that the board won't run until given an external kick - all it requires is JLINK to be connected once (not even debugger connected) and then the board runs and can be disconnected from the programmer.

    If I flash just the application without the bootloader (so the Softdevice handles clock initialisation) then the board runs fine without the need for the initial JLINK kick.

    I have eliminated a clock configuration issue - I've traced through the bootloader initialisation and it is pulling the correct values from sdk_config.h when making the call to nrf_drv_clock_init.

    My suspicion is that the clock initialisation code in the SDK 14 bootloader is missing a step necessary to start the RC oscillator. This wouldn't be immediately obvious on the DK board as the debug interface would generally be active and this seems to be enough to kick the RC into life.

    This is driving me crazy - any help would be gratefully received!

Children
Related