CCS 编译出错

 

调试一个FBTC程序,当设置#define DBPRINT 1时,即将输出调试信息,则编译链接时出错:

错误如下:

>>   error: can't allocate .sysmem, size 00002000 (page 0) in PMEM (avail:
            00001f60)
>>   error: errors in input - FBTC6416.out not built

>> Compilation failure

 

错误显示无法分配.sysmem,它一共有00002000这么大,但PMEM空间可用的(avail,这个简称很恶心,全称应该是available)只有00001f60这么多,不够用。

看一下CMD文件:

-c
-heap  0x2000
-stack 0x4000

/* Memory Map
 */

MEMORY
{
 PMEM: o = 00000000h l = 00010000h
 BMEM: o = 80000000h l = 00010000h
}


SECTIONS
{
    .text   >  PMEM
    .far    >  PMEM
    .stack  >  PMEM
    .bss    >  PMEM
    .cinit  >  PMEM
    .pinit  >  PMEM
    .cio    >  PMEM
    .const  >  PMEM
    .data   >  PMEM
    .switch >  PMEM
    .sysmem >  PMEM
}

PMEM只分配了64k(00010000,即2^16,即2^6k),对于C6416来说,它内部自带有有1M的SRAM,将这里如下设置:

MEMORY
{
 PMEM: o = 00000000h l = 00100000h
 BMEM: o = 80000000h l = 00010000h
}

再进行编译链接,OK,就没错误了。

你可能感兴趣的:(c,cmd,input,compilation)