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.

AWR6843: Usage of PROG_RAM memory in mmwave_sdk_03_05_00_04 for EVM AWR6843

Part Number: AWR6843

Hi,

As per Documents shared in mmwave_sdk_03_05_00_04 for xWR64xx demo, PROG_RAM memory of 161198 bytes i.e 157KB has been used.

I need an additional  28KB of PROG_RAM memory for my application pipeline development which will run on top of the xWR64xx demo Using AWR6843.

So the total PROG_RAM memory Usage is 157KB + 28KB = 185KB.

But there is a customer requirement on the PROG_RAM memory Usage up to 100KB.

Is there any way to reduce PROG_RAM memory of 100KB by removing some of the xWR64xx demo components from  mmwave_sdk_03_05_00_04?

PFA screenshot of memory usage summary shared for the xWR64xx demo in mmwave_sdk_03_05_00_04.

  • Hi,

    Can you elaborate a bit more on what your goal is here? I'm a bit confused on whether you are trying to make space for a larger image or trying to make your image itself smaller.

    Best Regards,
    Alec

  • Hi Alec,

    Thank you for your quick reply.

    My goal is to make my image itself smaller.

    Let me clearly elaborate on my goals:

    The application is running on top of the xWR64xx demo in mmwave_sdk_03_05_00_04 using AWR6843.

    Total PROG_RAM Used after adding my application to mmwave_sdk_03_05_00_04  = 174KB

    I have a requirement to add more applications to mmwave_sdk_03_05_00_04 along with the current application. Which is going to increase my usage of PROG_RAM in the future. To save PROG_RAM for future use I want to reduce the PROG_RAM for the current application.

    From a total of 174KB PROG_RAM usage, my current application is using PROG_RAM 40KB and TI mmwave_sdk_03_05_00_04 is taking around 134KB for xwr64xx.

    Is there any way to reduce the PROG_RAM from TI mmwave_sdk_03_05_00_04 i.e from 134KB to a lower value?

    Note: I want to use hardware accelerator for range, doppler, CFAR, and AOA

    PFA the .map file of my application pipeline.

    xwr64xxAOP_mmw_demo_mss_map.txt

  • Hi,

    Reducing the size can be tricky, depending on how much you need to reduce it by. Some suggestions below:

    1. Go through the map file and identify any features that seem like they may not be applicable to you. This may seem obvious, but you may be able to find some things that can be removed depending on what you need from your application.
    2. Remove CLI and use a hardcoded configuration if you do not need to configure the radar at runtime. See the FAQ on how to implement a HCC here: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1023135/faq-iwr6843-how-to-add-a-hard-coded-configuration-to-mmwave-radar-projects

    3. If you read the document located at <mmwave_Industrial_toolbox_location>\labs\people_counting\docs\3D_people_counting_demo_implementation_guide.pdf 
      and review the referenced lab (overhead 3d people counting) you can learn about a more advanced method of saving memory, a memory overlay. Basically, we store the Init code for various items in data ram rather than program ram, which means that once the device is processing data, it will overwrite these functions. It can save you some program memory, but you need to be VERY careful to not overwrite the code before it has finishing executing. 

    At the end of the day, there will always be quite a bit of overhead size from the control code and the boilerplate for your application and data processing, but any additional functionality will obviously be able to leverage all of that boilerplate. 

    Best Regards,
    Alec