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.

The test_print() is not working well in CCS debug session.

Part Number: AWR2944EVM
Other Parts Discussed in Thread: AWR2944

Tool/software:

Hi

    I use test_print() to print variable value in objectdetection.c in CCS debug session. It's only print once, but I expected it should always print every frames. Can you please help to check it?

Radar board: AWR2944 Evaluation Module

radar toolbox version: v2_30_00_12

example: source\ti\examples\Out_Of_Box_Demo\src\awr294x

int32_t DPC_ObjectDetection_execute(){

    retVal = DPU_CFARProcHWA_process(subFrmObj->dpuCFARObj, &outCfarProc);

    if (retVal != 0)

    {

        goto exit;

    }

 

    DebugP_log("ObjDet DPC: number of detected objects after CFAR = %d\n",

                outCfarProc.numCfarDetectedPoints);

    test_print("ObjDet DPC: number of detected objects after CFAR = %d\n",

                outCfarProc.numCfarDetectedPoints);}

 

}

The execution result in CCS console:

Thanks.

  • Hi,

    It's advised not to print when you are running the demo as this delays the processing. I suspect that there might be some assert in either MSS or DSS. The assert occurs due to the delay caused by printing on the CCS console. Halt the core to see if there is any assert. If you want to check the number of objects after Range CFAR, store the value in a global variable and enter the variable name in the expression window of CCS. 

    Regards,

    Samhitha

  • Hi Samhitha,

      I add  "int gNumObjOut;" in objectdetection.c and add it to Expression. It shows "identifier not found: gNumObjOut".  Are any steps wrong?

    I also can see DebugP_log API in the source code.

    1. Where's it print out?

    2. How to see it?


    Thanks.

  • Hi,

    Is the global variable defined as volatile?

    I also can see DebugP_log API in the source code.

    1. Where's it print out?

    2. How to see it?

    You can check if the Debug log is enabled in syscfg file. Based on the logs that you have enabled, you will receive data over UART or CCS console. As mentioned in my previous reply, I suggest not to add any print statements as this might delay the processing and cause assert. If you are printing some logs, ensure that frame periodicity is increased in the frameCfg. 

    Regards,

    Samhitha

  • Hi Samhitha,

      

    Is the global variable defined as volatile?

    ==> No, it's "int objNumObjOut".

    I also try to change it to "volatile int gNumObjOut;", It still shows "identifier not found".

    Any ideas?

    Thanks.

  • Hi,

    Are you checking for the variable by selecting appropriate core (C66x) while running the application? If you are still unable to read the variable, I suggest you to halt the core and check if the global variable can be read. Ensure that gNumObjOut is a global variable and not a local variable. If it's defined as a global variable, you should be able to find the global variable in the *.map file. Check the address of the global variable and enter the address in the memory browser to read the value at that address. 

    Regards,

    Samhitha