您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > CCS-6-新建TMS320F28335工程(可移植))
使用CCS6新建TMS320F28335工程本例程以CCS6.0下新建TMS320F28335工程为例。用CCS5,或者新建TI的其它处理器工程的区别也不大,参考本例即可。所建工程能够实现完全的可移植,即任意拷贝到其他位置或其他电脑都能够直接编译运行,非常方便。一、CCS6.0安装一路Next即可,在处理器支持页面,选择C2000系列即可。根据需要选择。仿真器也是根据实际选择,XDS100是TI官方的,便宜又实在。跳出是否安装的页面,均选择安装。安装完成后,CCS5的大学版的license能够继续用。将其复制到C:\ti\ccsv6\ccs_base\DebugServer\license即可。打开软件后,会跳出页面要求设置Workspace路径,注意不能有中文。Workspace路径也可以更改,如下即可:二、新建TMS320F28335工程1)在Workspace文件下,建立ProjectformatforCCS6文件夹,这个文件夹就是我们接下来要建立的工程模板文件夹,需要移植或者拷贝程序,拷贝该文件夹即可。在ProjectformatforCCS6文件夹下,新建Project文件夹,该文件夹用于存放我们的工程文件。拷贝以下四个文件夹到ProjectformatforCCS6文件夹下。DSP2833x_commonDSP2833x_headersFPUfastRTSIQmath注:这四个文件夹可以从TI官方文件得到,需要安装controlSUITE,TI官网可免费下载。安装好controlSUITE之后,可以在C:\ti\controlSUITE\libs\math\C:\ti\controlSUITE\device_support\f2833x\v141\中找到上面的四个文件夹。(v141为版本号,实际不一定是这个版本,可能有更新)2)新建工程点击ProjectNewCCSProject以工程名Test为例。注意路径Location选择到刚建立的Project文件夹。点击Finish。得到的工程如下:3)从DSP2833x_headers\cmd中拷贝DSP2833x_Headers_nonBIOS.cmd到Project文件夹。并在Project文件夹下,新建一个src文件夹,该文件夹将用于存放我们需要用到的源文件。现在Project文件夹中的文件如下:4)设置头文件索引路径。右键点击工程名,选择Properties选择C2000Compiler下的IncludeOptions添加${PROJECT_ROOT}\..\DSP2833x_common\include${PROJECT_ROOT}\..\DSP2833x_headers\include${PROJECT_ROOT}\..\FPUfastRTS\V100\include${PROJECT_ROOT}\..\IQmath\v160\include添加后如下图所示:注:V100和V160是版本号,大家根据自己得到的文件夹修正即可。点击OK。我们可以看到Includes栏中,有我们所添加的索引路径,而且不是灰色的,说明添加正确。5)配置仿真器右键点击工程名,选择NewTargetConfigurationFile输入名字,这边取为TMS320F28335.ccxml。点击Finish。出现以下页面:选择仿真器型号,这边选的是XDS100V3,器件型号选择28335,点击右侧的Save。当所选为TI的仿真器,可以点击TestConnection,测试下仿真器是否成功连接。到现在为止,工程列表如下:6)添加源文件这个和CCS3.3差不多。将我们需要的.c文件、.asm文件,复制到src文件夹中。(源文件用链接的方式导入也可以,但这边选择在src文件夹下拷贝源文件,是为了良好的可移植性考虑的,这样我们整个工程重要文件都在Project文件夹下。)源文件是根据自己的需要添加的,但是一般DSP2833x_common\source中的DSP2833x_CodeStartBranch.asmDSP2833x_DefaultIsr.cDSP2833x_SysCtrl.cDSP2833x_Gpio.c以及DSP2833x_headers\source中的DSP2833x_GlobalVariableDefs.c都是需要用到的。如果用的ADC,则需添加:DSP2833x_ADC_cal.asmDSP2833x_usDelay.asmDSP2833x_Adc.c用到中断,需添加:DSP2833x_PieCtrl.cDSP2833x_PieVect.c这边给出我添加的文件示例,如下图所示:复制到src的文件会显示在工程列表中,如下:7)如果程序里有三角函数或者开根号等运算,推荐用fastRTS库或者IQmath库来计算。需要配置如下:选择C2000Linker下的FileSearchPath在C2000Linker-FileSearchPath右边的Includelibraryfileorcommandfile中,添加rts2800_fpu32.librts2800_fpu32_fast_supplement.lib在Adddirtolibrarysearchparh中添加索引路径:${PROJECT_ROOT}\..\FPUfastRTS\V100\lib${PROJECT_ROOT}\..\IQmath\v160\lib然后将最下面的DisableautomaticRTSselection选中。添加后如下图所示:点击Build,在LinkOrder中,添加两个库文件,并将rts2800_fpu32_fast_supplement.lib移动到前面,这样该库将被优先索引。在main.c文件前面,需要添加头文件#includemath.h#includeC28x_FPU_FastRTS.h这样,就能使用fastRTS库了。如果需要用到IQmath库,思路类似,大家自己添加相应的库文件和cmd文件即可。8)注:要打开我们建立的Test工程,需要选择到Project文件夹,这是我们工程所在文件夹,上层目录的DSP2833x_common等4个文件夹是为了完全的可移植行准备的。8)其他说明cmd文件的选择则根据运行模式选择:在线仿真模式:添加28335_RAM_lnk.cmdFlash烧写模式:添加F28335.cmd在main.c文件开头,需要引用头文件:#includeDSP28x_Project.h//包含所有的外设头文件及宏定义如果运行在烧写模式,即将程序烧进Flash里,程序里需要包含以下部分://重要函数需要在RAM里运行#pragmaCODE_SECTION(函数名1,ramfuncs);#pragmaCODE_SECTION(函数名2,ramfuncs);……#defineRunInFlash//程序烧写标志在InitPieVectTable();后面加入#ifdefRunInFlashMemCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);#endif若编译时若提示内存分配不足,则需根据提示在cmd文件中修改相应内存分配。通过修改CMD文件能够将整个程序在上电时从Flash拷贝到RAM里运行,这样和在线仿真的运行工况可以说完全一致。也就无需再写#pragmaCODE_SECTION(函数名,ramfuncs)了,这边就先不展开,大家可以自行百度,我以后有时间再写吧。Byfelly772016.7.04
本文标题:CCS-6-新建TMS320F28335工程(可移植))
链接地址:https://www.777doc.com/doc-6406244 .html