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: Optimization for memory size

Part Number: IWR6843ISK

Tool/software: Code Composer Studio

Hello,

I added original function in OOB demo.(mmwave_sdk_68xx_dsp_dss)

But it seems that L2 memory is not enough for current implementation.

Could you let me if you have any ways to optimize option for size reduction?

I show current optimization and ‘xwr68xx_mmw_demo_dss.map’. (Here, I changed length of ‘L2SRAM_UMAP0’ for building.

Optimization level : off

Speed vs. size trade-offs : 0

Optimize for code size : 0


MEMORY CONFIGURATION

name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
PAGE 0:
L2SRAM_UMAP1 007e0000 00020000 00020000 00000000 RWIX
L2SRAM_UMAP0 00800000 00025000 00021b18 000034e8 RWIX
L1PSRAM 00e00000 00004000 00000000 00004000 RWIX
L1DSRAM 00f00000 00004000 00004000 00000000 RWIX
L3SRAM 20000000 000c0000 000c0000 00000000 RWIX
HWA_RAM 21030000 00010000 00000000 00010000 RWIX
HSRAM 21080000 00008000 00008000 00000000 RWIX

PAGE 1:
L3SRAM 20000000 000c0000 00000000 000c0000 RWIX

Best Regards,

Kazuki

  • Hello Kazuki-san,   

    It's not clear from your description what you are trying to do and what issue do you see but it appears that you added some code to the DSP part of the mmw demo and are running into memory section allocation issues.

    You should be able to see the section allocation error messages thrown by the linker on the CCS conole (if using CCS project) or on the Command window (if using makefile to build the project) and it shows the amount of memory that couldn't be allocated in the sections defined in the linker command file. Please look at those to get an idea of the overflow first before thinking about size vs speed optimizations options. Typically, size vs speed optimization trade-off option (-ms<X> option) may not work for very large section allocation errors. Secondly, compiling for size reduction results in increased execution time and the program may fail real-time deadlines.

    There could be more than one ways to free up space in L2SRAM and this requires an understanding of the Linker command files. One of them involves moving one-time execute code to L3SRAM (slower memory) using overlays.

    1. Please refer to the following resources to understand the linker command files and their usage. Please make sure that you understand these concepts first.

    1. Linker command file:TI Linker Command File Primer
    2. Linker command file (advanced):Advanced Linker Techniques for Convenient and Efficient Memory Usage

    2. An example of allocating code in L3SRAM is available in the Overhead People Counting Demo in Industrial Toolbox . Refer to the DSS linker command file for this demo.

    Regards

    -Nitin

  • Hello Nitin-san,

    Thank you for your information!

    It's enough for me.