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.

TMS320F28388D: 关于ebss段内存分配问题

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

各位你们好,

问题1:

我在我自建的工程文件的global.c文件中定义大量的全局变量并进行了初始化赋值,在其他文件没有调用时编译没有提示存储空间不够,但当我在其他文件使用这些变量时,编译后就会有以下提示:

"../2838x_FLASH_CLA_lnk_cpu1.cmd", line 125: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. 
run placement with alignment/blocking fails for section ".ebss" size 0x48b6 page 0.  
Available memory ranges:
   RAMLS3       size: 0x800        unused: 0x7de        max hole: 0x7de     
   RAMLS4       size: 0x800        unused: 0x800        max hole: 0x800     
   RAMLS5       size: 0x800        unused: 0x800        max hole: 0x800     
   RAMLS6       size: 0x800        unused: 0x800        max hole: 0x800     
   RAMLS7       size: 0x800        unused: 0x800        max hole: 0x800     
   RAMGS5       size: 0x1000       unused: 0x1000       max hole: 0x1000    
   RAMGS6       size: 0x1000       unused: 0x1000       max hole: 0x1000    
   RAMGS7       size: 0x1000       unused: 0x1000       max hole: 0x1000    
   RAMGS8       size: 0x1000       unused: 0x1000       max hole: 0x1000

一开始ebss段只放在了RAMLS3,后来发现内存不够,只能扩展了几个LSRAM和GSRAM,通过以下代码:

.ebss            : >> RAMLS3 | RAMLS4 | RAMLS5 | RAMLS6 | RAMLS7 | RAMGS5 | RAMGS6 | RAMGS7 | RAMGS8

这样空间应该是足够了的,为什么编译的时候还是报了上面那个错误。

问题2:我现在使用的版本是CCS 12.0,我在输出文件格式上选择了 legacy coff,编译后会报以下警告:

warning #10373-D: library "E:/ti/c2000/C2000Ware_4_03_00_00/driverlib/f2838x/driverlib/ccs/Debug/driverlib.lib" contains ELF object files which are incompatible with the TI-COFF output file. Ensure you are using the proper library.

这样是不是意味着不能使用driverlib.lib了,是必须选择ELF格式才能用吗?

烦请各位帮忙解答一下。