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.

c6678内存分配问题

您好:

    目前我在别人的一个dsp工程上继续做开发,鉴于需求,需要把分配的MSMCSRAM的大小调小一些。

下面为目前的map,

name                origin             length           used             unused          attr          fill
---------------------- -------- --------- -------- -------- ---- --------
L2SRAM          00800000      00080000    00016d28    000692d8      RW X
MSMCSRAM   0c000000      00400000     00102700    002fd900       RW X
DDR3              80000000      02000000     004da9e9    01b25617      RW X
DDR3_SM      88000000      04000000     00000000    04000000      RW

----------------------------------------------------------------------------------------------------

下面为.cmd文件:

SECTIONS
{
.init_array: load >> L2SRAM
.srioSharedMem: load >> MSMCSRAM
.qmss: load >> MSMCSRAM
.cppi: load >> MSMCSRAM
.shmETH2MACdata load >> MSMCSRAM
.shmMAC2ETHdata load >> MSMCSRAM
}

CMD文件中只有以上内容,没有指定MSMCSRAM起始地址和长度的代码。

下面为编译后Debug文件夹中linker.cmd中和MSMCSRAM相关的部分:

--args 0x0
-heap 0x0
-stack 0x10000

MEMORY
{
L2SRAM (RWX) : org = 0x800000, len = 0x80000
MSMCSRAM (RWX) : org = 0xc000000, len = 0x400000
DDR3 (RWX) : org = 0x80000000, len = 0x2000000
DDR3_SM (RW) : org = 0x88000000, len = 0x4000000
}

我的问题是我该怎么修改MSMCSRAM的len?

(

MEMORY
{

MSMCSRAM: o = 0x0C000000 l = 0x003E0000
}

在.cmd中加入以上代码后编译出错,错误信息如下:

<Linking>
"../C0_add.cmd", line 5: error: MSMCSRAM memory range has already been
specified
"../C0_add.cmd", line 5: error: MSMCSRAM memory range overlaps existing memory
range MSMCSRAM

)

另外,RTSC中使用的是自定义的platform。我看TI用户手册上有说使用platform wizard配置内存分配,但我无法选择此自定义的platform。