This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2642R: LF RCOSC calibration error: TDC reference clock not set

Part Number: CC2642R

Hello,

I've been working with the simple_broadcaster example application on custom hardware with some errors during RCOSC calibration.

I have used debugger to trace fault point to function runCalibrateFsm() in the PowerC26X2_calibrateRCOSC.c from the SimpleLink source files

Program gets hung up on this statement, infinite loop waiting for AUX_SYSIF:TDCCLKCTL.ACK to be set.

/* finish wait for AUX_SYSIF:TDCCLKCTL.ACK to be set ... */
while (!(HWREG(AUX_SYSIF_BASE + NONSECURE_OFFSET + AUX_SYSIF_O_TDCCLKCTL) & AUX_SYSIF_TDCCLKCTL_ACK)) {}

I have checked register logs and the required bit (AUX_SYSIF:TDCCLKCTL.REQ) is properly getting set in the previous line.

/* set AUX_SYSIF:TDCCLKCTL.REQ... */
HWREG(AUX_SYSIF_BASE + NONSECURE_OFFSET + AUX_SYSIF_O_TDCCLKCTL) = AUX_SYSIF_TDCCLKCTL_REQ;

I have done the following for debug steps

  • Tried on 2 different custom boards
  • Tried with / without load capacitors on the 48 MHz oscillator
  • Verified application works on LaunchPad

And also read through these application notes to ensure system requirements are met (I do not have a 32-kHz crystal in my custom hardware)

Using 32-kHz Crystal-Less Mode

Running Bluetooth Low Energy on CC2640 Without 32 kHz Crystal

Would it be possible to try to measure the TDC_SRC clock (supposed to be equal to XOSC_HF/2 or 24 MHz) on an output pin?

Or possibly the output of the LF OSC (should measure 32 kHz?)

Any other advice on how to proceed with getting the simple_broadcaster application to run on custom hardware?

Thanks!