This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF52832 Internal Oscillator Softdevice Enable Hanging

I'm using the nRF52832 chip without an external crystal. I configured it to use the internal RC with:

nrf_clock_lf_cfg_t clock_lf_cfg;
clock_lf_cfg.source = NRF_CLOCK_LF_SRC_RC;
clock_lf_cfg.rc_ctiv = 16;
clock_lf_cfg.rc_temp_ctiv = 2;
clock_lf_cfg.xtal_accuracy = 0;

// Initialize SoftDevice.
SOFTDEVICE_HANDLER_APPSH_INIT(&clock_lf_cfg, true);

However, the device seems to be hanging upon enabling the SoftDevice. When going through with a debugger, it just jumps to address 0 continuously. I have the Monitor Mode debugging set up based on the blog post, so I wouldn't think that would be the issue.

Am I doing something wrong in configuring the Softdevice to use the Internal RC?

  • Have you tried regular debugging and checking if you are running into the error-handler? See this post on how to debug. That the address jumps to 0 continuously indicates that the device is restarting (default behavior when running into the error-handler.)

  • I had a fault every time I tried to start with temp_ctiv. Seems like it might be a bug in some SD's. Try setting temp_ctiv to 0. If you are running on the internal RC, then likely RTC accuracy isn't supremely important. So a calibration cycle every 4 seconds will be sufficient. The temp measurement isn't that important.

  • I'm seeing it reset to 0, even if I set the temp_ctiv to 0. Even with regular debugging, I'm not seeing it hit any error handlers. I've put breakpoints in app_error and softdevice_handler and I'm not seeing anything.

  • Did you remember to add DEBUG as a Preprocessor symbol?

  • Yes, I added DEBUG is a preprocessor symbol. If I go through with the debugger step by step, I can eventually reach the error handler, but just hitting "Continue" always jumps me back to 0