paradoxfx

【原创】TI C2833x编程环境介绍---(7)常用的编译选项

0
阅读(3564)

在把所有文件都放在同一个文件夹下、工程规模较小的情况下,CCS的编译选项一般不需要修改,使用默认值就可以较好地工作了。而在工程文件较多、需要更改优化级别、需要制定工程所使用的库、变量初始化等情况下,就需要修改编译器的选项了。下面是一个工程所有编译选项展开的结果:

[Project Settings]

ProjectDir="F:\2833EXP\adctest\build\"

ProjectType=Executable

CPUFamily=TMS320C28XX

Tool="Compiler"

Tool="CustomBuilder"

Tool="DspBiosBuilder"

Tool="Linker"

Config="Debug"

Config="Release"

 

[Source Files]

Source="..\lib\rts2800_fpu32_fast_supplement.lib"

Source="..\src\adctest.c"

Source="..\src\DLOG4CHC.asm"

Source="..\src\DSP2833x_ADC_cal.asm"

Source="..\src\DSP2833x_CodeStartBranch.asm"

Source="..\src\DSP2833x_CpuTimers.c"

Source="..\src\DSP2833x_DefaultIsr.c"

Source="..\src\DSP2833x_GlobalVariableDefs.c"

Source="..\src\DSP2833x_PieCtrl.c"

Source="..\src\DSP2833x_PieVect.c"

Source="..\src\DSP2833x_SysCtrl.c"

Source="..\src\DSP2833x_usDelay.asm"

Source="..\src\epwm.c"

Source="..\src\lpf.c"

Source="..\src\myad.c"

Source="..\cmd\28335_RAM_lnk.cmd"

Source="..\cmd\DSP2833x_Headers_nonBIOS.cmd"

 

["Compiler" Settings: "Debug"]

Options=-g -fr"..\obj" -i".\include" -i"..\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32

 

["Compiler" Settings: "Release"]

Options=-o3 -fr"$(Proj_dir)\Release" -d"LARGE_MODEL" -ml -v28

 

["Linker" Settings: "Debug"]

Options=-c -m".\Debug\spll.out" -o".\Debug\spll.out" -stack0x380 -w -x -l"rts2800_fpu32.lib"

 

["Linker" Settings: "Release"]

Options=-c -m".\Release\balance.map" -o".\Release\balance.out" -w -x

 

["..\cmd\28335_RAM_lnk.cmd" Settings: "Debug"]

LinkOrder=1

 

["..\cmd\28335_RAM_lnk.cmd" Settings: "Release"]

LinkOrder=1

 

["..\cmd\DSP2833x_Headers_nonBIOS.cmd" Settings: "Debug"]

LinkOrder=1

 

["..\cmd\DSP2833x_Headers_nonBIOS.cmd" Settings: "Release"]

LinkOrder=1

 

解释一下几个常用的选项:

•-o <filename> 声明了所生成的输出文件(一般为.out)文件的名字.

• -m <filename> 生成.map文件(主要包含链接器的结果).

• -c 通知编译器自动初始化全局与静态变量.

• -x 通知编译器在编译时不要遗漏、要详细查找的库文件,例如在2833x启用浮点库编程的情况下,就需要-x -l"rts2800_fpu32.lib"使用"rts2800_fpu32.lib"文件,否则FPU库并未启用,程序时间将大大延长(这个我测试过,程序执行的时间将显著变长)。

 

我发现初学者经常遇到的问题就是,如果他不把所有文件都放在一个文件夹下,就总是出现找不到xxx.c、xxx.h这样的问题。在编译器选项里面,通过设置相对路径就可以了,不清楚的可以参考上面的例子。如["Compiler" Settings: "Debug"]

Options=-g -fr"..\obj" -i".\include" -i"..\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32,

其中..\include就是一个相对路径.