IWR6843AOP: Infinite loop in SOC_Init() -> SOC_waitAPLLCalibration()

Part Number: IWR6843AOP
Other Parts Discussed in Thread: , MMWAVEICBOOST, ALP

Tool/software:

I cannot get any of the example programs such as OOB demo, enable_57_to_61.. to run successfully on my IWR6843AoPEVM as well as custom IWR6843AoP boards. I've even tried the respective pre compiled binaries and they freezes and mmWaveDemoVisualizer 3.6 never returns any data for OOB demo. 

When I debug using MMWAVEICBOOST, the program goes into infinite loop in the following function:

SOC_init-> SOC_waitAPLLCalibration()
 
This is because the last line in this function always fails the while test:
static void SOC_waitAPLLCalibration(SOC_DriverMCB* ptrSOCDriverMCB)
{
TOPRCMRegs* ptrTopRCMRegs;

/* Get the TOP RCM registers: */
ptrTopRCMRegs = ptrSOCDriverMCB->ptrTopRCMRegs;

/* Wait until APLL clock calibration is done successfully */
while (CSL_FEXTR(ptrTopRCMRegs->SPARE0, 17U, 16U) != 0x3); //PROBLEM LINE SPARE0 is always 0x28
}
The value of ptrTopRCMRegs->SPARE0 is always 0x00000028 
So far I've tried MMWave SDKs version 3.6x, 3.5 and both have the same behaviour.

However, when I tried the OOB demo precompiled binaries from version 3.4 sdk, those work and I was able to connect successfully using mmWaveDemoVisualizer 3.6. This was working for both EVM module and  I'm assuming that is because that version doesn't call SOC_waitAPLLCalibration().

So question is how do I solve this for version the latest 3.6 SDK? Is the APLL not properly getting initialized? How to fix that if that is the case? 

  • Hello.

    Which version of the IWR6843AOP do you have?  Did you acquire them recently?

    Sincerely,

    Santosh

  • These are ES2.0 and our CM acquired them last month. Marking says 21ZCO79 G1, ALP. See picture below.

    Over the weekend we tried demo files (xwr68xx_mmw_demo.bin) from older SDK 3.04.00.03 works with it. However mmWave SDK's 3.5 and latest 3.6 doesn't work. 

  • Hello Nayab.

    Thanks for the update.  Can you try flashing the 6843 binary from SDK 3.6 and then switch to functional mode and connect to a serial terminal with a baud rate of 115200?  Can you provide a screenshot of your serial terminal output?

    Sincerely,

    Santosh

  • With SDK 3.6, after flashing and restarting the unit, I'm attaching the output. Not only doesn't it return any data, it also doesn't respond to sensorStop command as you can see below. I'm also attaching the output of Visualizer :

    ================================

    ================3.4================

    ================================

    With 3.4, the output is as follows:

    Question is what changed after 3.4 for this behaviour?

  • Hello.

    I think the change is that the xwr68xx binary is specifically for the 6843 chip while you need to use a different binary for the 6843AOP chip.  The software has compile time flags checking the device type.  Can you try running the 64xxAOP binary in the 64xx folder and see if that boots up for you?

    Sincerely,

    Santosh

  • Hi Santosh,

    I just tried the xwr64xxAoP.bin from both 3.6 and 3.4 SDKs. The behavior was similar. 3.4SDK worked and I got the "mmwDemo:/>" prompt but the 3.6 version had no response after successful connection. I can't be the only one seeing this issue on two different devices and custom boards. Can you try this in your lab on the iwr6843AopEVM board and see if you get a prompt with these binaries?

  • Hello Nayab.

    We are looking into this; I will provide an update by the end of the week.

    Sincerely,

    Santosh

  • Hello.

    I have tried this on an IWR6843AOPEVM Rev G and the 64xxAOP.bin in the mmwave_sdk_03_06_02_00-LTS\packages\ti\demo\xwr64xx\mmw folder worked for me.  Are you running on an EVM or on custom hardware?

    Sincerely,

    Santosh