TI中文支持网
TI专业的中文技术问题搜集分享网站

cmd问题

ccs3.3,为什么我在程序中分配了一个全局变量Uint8 buf[8600]就提示错误了:

>> error: can't allocate .stack, size 000a1800 (page 0) in L2RAM (avail:
00020000)
>> error: can't allocate .sysmem, size 000a1800 (page 0) in L2RAM (avail:
00020000)
>> error: errors in input – ./Debug/laneAlgor.out not built

>> Compilation failure

cmd文件如下:

/*
* Linker command file
*
*/

-stack 0x00001800 /* Stack Size */
-heap 0x00001800 /* Heap Size */

MEMORY
{
L2RAM: o = 0x10800000 l = 0x00020000
DDR2: o = 0x80000000 l = 0x10000000
Flash: o = 0x90000000 l = 0x00400000
}

SECTIONS
{
.bss > L2RAM
.cinit > L2RAM
.cio > L2RAM
.const > L2RAM
.data > L2RAM
.far > L2RAM
.stack > L2RAM
.switch > L2RAM
.sysmem > L2RAM
.text > L2RAM
.ddr2 > DDR2
.buffer > DDR2
}

解决方法是增加heap大小还是stack大小还是更改section中的分配,

如果把所有L2RAM更改为ddr2后有什么影响?

Tony Tang:

houqiang li解决方法是增加heap大小还是stack大小

全局变量是分配在.bss段,不是heap,也不是stack。

houqiang li还是更改section中的分配,

L2放不下,只能放到能放得下的memory。

houqiang li如果把所有L2RAM更改为ddr2后有什么影响?

慢一点而已。

Shine:

回复 Tony Tang:

错误提示L2RAM大小不够放,需要放到其他RAM。

赞(0)
未经允许不得转载:TI中文支持网 » cmd问题
分享到: 更多 (0)