【原创】TI C2833x编程环境介绍---(7)常用的编译选项
0赞在把所有文件都放在同一个文件夹下、工程规模较小的情况下,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
• -m
• -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就是一个相对路径.