I am using nRF52832 with SDK 14. My app has bootloader and dfu. Everything was working fine with external crystal. I changed my clock source to RC and used these recommended settings in my app code and bootloader code
for sdk_config.h
// </h> //========================================================== // <h> Clock - SoftDevice clock configuration //========================================================== // <o> NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. // <0=> NRF_CLOCK_LF_SRC_RC // <1=> NRF_CLOCK_LF_SRC_XTAL // <2=> NRF_CLOCK_LF_SRC_SYNTH #ifndef NRF_SDH_CLOCK_LF_SRC #define NRF_SDH_CLOCK_LF_SRC 0 #endif // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. #ifndef NRF_SDH_CLOCK_LF_RC_CTIV #define NRF_SDH_CLOCK_LF_RC_CTIV 16 #endif // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated // <i> if the temperature has not changed. #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2 #endif // <o> NRF_SDH_CLOCK_LF_XTAL_ACCURACY - External crystal clock accuracy used in the LL to compute timing windows. // <0=> NRF_CLOCK_LF_XTAL_ACCURACY_250_PPM // <1=> NRF_CLOCK_LF_XTAL_ACCURACY_500_PPM // <2=> NRF_CLOCK_LF_XTAL_ACCURACY_150_PPM // <3=> NRF_CLOCK_LF_XTAL_ACCURACY_100_PPM // <4=> NRF_CLOCK_LF_XTAL_ACCURACY_75_PPM // <5=> NRF_CLOCK_LF_XTAL_ACCURACY_50_PPM // <6=> NRF_CLOCK_LF_XTAL_ACCURACY_30_PPM // <7=> NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM #ifndef NRF_SDH_CLOCK_LF_XTAL_ACCURACY #define NRF_SDH_CLOCK_LF_XTAL_ACCURACY 0 #endif
and for pca_10040.h
#define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_RC, \ .rc_ctiv = 16, \ .rc_temp_ctiv = 2, \ .xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM}
When it is in bootloader it does advertising and I can upload my app. But my app doesnt work. When I try to debug my app, it works well and does eveything I want but when I finish the debug it stops advertising and I cant see anything.