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.

AWR1642BOOST: Issue in integration of mmwavelib_dbscan in mmw demo

Part Number: AWR1642BOOST

Hi,

I'm using mmwave_sdk_01_02_00_05, trying to integrate DBSCAN functionality in mmw demo. I've copied all the detections information into the required global arrays for DBSCAN function (locationXY, speedarray). and I'm using the DBSCAN call at the end of "MmwDemo_interFrameProcessing" function as follows

"mmwavelib_dbscan_skipFoundNeiB(locationXY, speedArray, 20, 20, detIdx2, 4, scratchBuf, &numClusters, clusterIdxArray, clusterInfo);"
But on running the code with CCS, I'm getting "Error: Unable to open the Logging UART Instance" from dss_main.c.
Then I've commented the UART initialization stuff in dss_main.c, since r4 initialization is sufficient. But then the code gets hanged after "MMWave_init" in dss_main.c.
And if I comment the mmwavelib_dbscan function call in dss_data_path.c, the code is running fine.
Could someone explain to me the reason for this weird behavior?
And suggest me a possible fix for this.
Thanks,
Chidvilas
  • Hi Chidvilas,
    Could you try increasing the stack size of MmwDemo_dssDataPathTask task, as you are trying to add new code which will be running under this task.

    UART init shouldn't effect mmwave_init, but next time you need to check at which point it is blocked, it might be waiting for some event.


    Regards,
    Jitendra
  • Hi Jitendra,

    I've found a workaround for this.

    I was declaring the global arrays in the following fashion:

    int8_t scratchBuf[4*MMW_MAX_OBJ_OUT]; // GLOBAL UNINITIALIZED // 8 byte aligned

    In this case, on loading the binary into the board, I've observed that sratchBuf is not zero initialized.
    So, after declaring the array like:
    int8_t scratchBuf[4*MMW_MAX_OBJ_OUT] = {0}; // GLOBAL ZERO INITIALIZED // 8 byte aligned
    This issue is resolved.
    Is there is any diff in both the syntaxes, because the global arrays should be automatically zero-initialized by the program loader?
    Thanks,
    Chidvilas
  • Hello Chidvilas,
    If you declare global variable in dss_main.c, by default it should be initialized to zero as being done for other global variables gMmwDssMCB.
    Else assign to zero while declaring it as glabal variable.

    Regards,
    Jitendra