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.

TMDSEVM6678: Is there any way to directly place a global static variable into MSMC segment via cfg file?

Part Number: TMDSEVM6678

Hi All,

I need to define a buffer on MSMC of a TMS320C6678 from sysbios cfg file configured application (linker.cmd is auto-generated via xdctools).

Is there any way to directly place a global static array variable (ie. char buf[32*1024];) into the MSMC segment via cfg configuration file syntax? 

If is there any reference on cfg file for that matter ?

Please let me know.

Thanks

  • Hello!

    I have a reference for DDR3, but that should work pretty much same shared memory. In SYSBIOS config have memory section definition like:

    Program.sectMap[".pcie_ddr3_bufSec"]    = "DDR3";

    Then in your C code define static buffer like:

    #pragma DATA_SECTION( pcie_ddr3_buf, ".pcie_ddr3_bufSec" )
    #pragma DATA_ALIGN( pcie_ddr3_buf, 256 )
    
    pcie_ddr3_buf_s pcie_ddr3_buf;
    

    Change DDR3 for MSMCSRAM and that should be good. Perhaps, 256B alignment is too strict, 128 may work too.In my example 'pcie_ddr3_buf_s' is a wrapper structure around just buffer with padding, you don't need that right now, may define simply as 'char buf[32*1024]';

    Hope this helps.