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格式才能用吗?
烦请各位帮忙解答一下。
看一下这个视图;