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.

CCS/IWR6843ISK-ODS: IWR6843ISK-ODS requests memory failed using malloc function

Part Number: IWR6843ISK-ODS

Tool/software: Code Composer Studio

    Recently, we encountered difficulties in using 6843isk-ods(ES2.0). Based on the overhead_ 3d_ people_ Count demo. We are ready to replace the gtrack_step function, in tracker_proc_3d.c file in ‘C:\ti\mmwave_industrial_toolbox_4_3_2\labs\common\src\dpu\trackerproc_overhead\src’ . When we use malloc function to request a slightly larger dynamic memory, such as

float *clusterPoint= (float*)malloc (sizeof (float) * 4000),

An error will appear: {module 40}: Line 221: error {ID: 0x110000, args: [0x8024d30, 0x9c60]}. When the requested memory is small, there is no problem.But We have a lot of malloc operations in the following.

The above operation mode is successful in 6843isk-ods (ES1.0,mmwave_industrial_toolbox_3_2_0).

I feel the problem is that the TCMB in cortex R4F cannot request large dynamic memory,but I am not sure and cannot solve this problem.

Thank you very much for your help!

  • Hi,

    This is a 16 KB request, which is not massive, but isn't insignificant either. Can you determine how much total memory you are requesting (outside of what the TI code does)? Please check the map file and ensure that TCMB is not being overwritten or used by another part of the program.

    Regards,

    Justin

  • Thank you for your patience

    I use malloc on the basis of source code. There is no change in other places. I check the memory. After the memory space I applied for using malloc, there is a global variable named gMmwMssMCB(mss_main.c). When the new space address exceeds the address of the system's own global variable, address overrun will occur. In order to save a non fixed number of point cloud structures, I It needs 30KB of dynamic memory space, but there is not so much space from the newly applied memory head address to the global variable gMmwMssMCB.

    Regards,

    Yu

  • Hi Yu,

    If you are running out of RAM on the MSS, you can try using some of the RADAR datacube memory. (You will have to change the chirp configuration so that less space is needed to store the radar data, I recommend reducing the number of chirp loops for now.)  You can then use some of the memory in L3, which is already accessible with the gMmwL3. 

    Regards,

    Justin