Using the internal LFRC oscillator with nRF Connect SDK

Background:
- Custom board using the Raytac MDBT50Q module

- No external 32kHz oscillator (XL1/XL2 left unconnected/floating)

- nRF Connect v2.1.0

- Programmer v3.04 through SWD by means of nRF52840dk

- J-LINK RTT Viewer v7.66a

I've spun up my first custom nRF52840 board using the Raytac module above and have found that although I can program the chip via SWD and read the contents, the chipset does not execute any code nor does RTT Viewer produce anything in the terminal (at all, not even at connection).  I am led to believe this is because I did not use an external 32kHz oscillator.  Although for production I will incorporate a 32kHz oscillator now that I understand its importance in the BLE applications, I would like to validate the rest of the boards functionality by enabling the internal RC oscillator.

It seems there is very limited information on how to do that with the nRF Connect SDK.  From what I gather there are a few config variables that need changed.  These are what I've tried so far:

CONFIG_CLOCK_CONTROL=y
CONFIG_CLOCK_CONTROL_NRF=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=n
CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH=n
CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_LF_ALWAYS_ON=y

But to no avail, RTT Viewer shows no signs of life and even the most basic blinky program does not work.  I'm wondering 1) Is this the right way to use the LFRC oscillator in the absence of an external in an nRF Connect project and 2) Would this explain the lack of code execution / empty output in RTT Viewer?

Parents
  • I'll answer my own question.

    I edited the above question a few times.  As it turns out my last edit was pretty much right.  In the end these were the only values needed added to the `prj.conf`:

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
    CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_LF_ALWAYS_ON=y
    Nothing was needed to add to the device tree, etc.
Reply
  • I'll answer my own question.

    I edited the above question a few times.  As it turns out my last edit was pretty much right.  In the end these were the only values needed added to the `prj.conf`:

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM=y
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC_CALIBRATION=y
    CONFIG_CLOCK_CONTROL_NRF_CALIBRATION_LF_ALWAYS_ON=y
    Nothing was needed to add to the device tree, etc.
Children
No Data
Related