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/AWR1843: put some .const section In L1DRAM can not run successfully

Part Number: AWR1843

Tool/software: Code Composer Studio

Hi team,

 In my mmwave DSS cmd flle , the default configuraton put the .const section in L2SRAM. I find some extra spaces in L1D,  so I tried to put it in the L1D, my application can compile and run in debug mode, but when it is downloaded  into flash , application can not run successfully. you can see the different configuratons like below

.const: {} >> L2SRAM_UMAP0 | L2SRAM_UMAP1 vs .const: {} > L1DSRAM,

my L2SRAM space is relly limited, so  I want to know if there are some methods to solve it.

BR,

Edward.

  • Hello Edward,

    Due to Year end Holidays, responses might get delayed at our end. Apologies for the inconvenience caused. 

    Our experts will look into your concern and get back by next week. Hope that's okay.

    Wishing you a very Happy New Year!

    Regards,

    Ishita

  • Hi Edward,

    I tried this and could replicate this behavior with the out of box demo. What kind of application are you using? Is it a modification on one of the existing labs on TIREX? Also, does the NERR_OUT LED turn on when you flash the binary and put the device in functional mode?

    Regards,

    Aayush

  • Hi Aayush

    My application is based the mmwave_sdk_03_02_00_04 demo, the NERR_OUT LED turn on when binary is flashed and put the device in functional mode. I find a similar question below  and I want to know the method to put .const data in L1DSRAM and copy to L2DSRAM during runtime initalizaiton.

    Regards,

    Edward

  • Hi Edward,

    Thanks for pointing me to this thread. As it says, the bootloader can't load to L1PSRAM or L1DSRAM to support lower power mode. They refer to SDK 2.1's OOB demo which copies code from L3RAM to L1PSRAM at initialization time.

    You can refer to SDK 2.1 OOB's linker command file and dss_main.c code to see how they "page in" code to L1PSRAM. You can do the same with L1DSRAM, define the .const section in a similar way to what they do with .fastCode section, with a different load and run attribute. Then, during initialization time, copy data from .const section's load origin to its run origin. This can be done in a similar way to the MmwDemo_copyTable function in the OOB demo.

    The thread also mentions that you needn't use the EDMA to copy data to the L1D RAM as it can be accessed by the DSP, a simple memcpy should suffice.

    Regards,

    Aayush