您的位置:首页 > 其它

关于DSP的CCS6.0平台下的工程搭建(完全可移植)

2018-03-19 10:32 1266 查看
[/u]本工程以CCS6.0下新建TMS320F28335工程为例,其他系列处理器工程搭建类似,参考本例即可。
 工程搭建用到的F2833x TI官方库文件 下载链接
  也可直接参考笔者搭建好CCS6.0的工程 下载链接 
     所建工程能够实现完全可移植,即任意拷贝到其他位置或电脑都能直接编译(需导入工程)。之后就可以延续使用此工程,只需更改Project工程名,按自己的需要添加部分文件或库。(具体参考下面的详细说明)
1.      首先点击project->New CCS Project 
2.      选择器件和创建工程名 (路径为默认工作空间,可根据自己的实际情况更改)
 



 
点击finish,得到工程列表如下:



 工程文件夹下的文件如下:



3.      接下来,在工程文件夹下创建几个文件夹(给各文件分类存储,便于管理)

            Cmd文件夹:用来存储所必须的cmd的文件,cmd文件是编译完成之后链接各个目标文件时,用来指示各个数据、符号
                                  等是如何划分到各个段,以及每个段所使用的存储空间的。

             FWlib文件夹:    固件库文件夹,再在其中建立两个子文件夹:Include文件夹和Source文件夹
             Include文件夹: 用于存放TI官方的写好的头文件
             Source文件夹:  用于存放TI官方写好的源文件
             Libraries文件夹:用于存放处理器所用到的库文件
             USER 文件夹:    用于存放用户自己写的头文件,源文件以及main.c文件
完成后如下:



 

4.      添加文件到工程:

接下来,我们需要拷贝以下文件或文件夹备用:(为了以后方便使用,我们把它都放在自己新建的一个文件夹“TI官方库文件”中备用)
注:首先确保自己的电脑上安装了ControlSUTE软件或C2000Ware(这两个软件TI官网都可免费下载,其中C2000Ware较新,更新到2017,我们一下工程的搭建所需的文件都来自C2000Ware软件中所带的库)
首先我们按照以下路径标注路径(具体根据自己软件的安装路径,标注路径是相同的),找到下面两个文件夹拷贝到“TI官方库文件”文件夹中备用:



然后按下面路径,拷贝下面两个文件到“TI官方库文件/lib文件夹下”
其中:rts2800_ml.lib库文件:C/C++大内存模式运行支持库,中有大量浮点运算处理的函数而rts2800.lib没有,rts2800_ml.lib和rts2800.lib对应,rts2800_ml.lib用的是大存储模式,在需要烧写FLASH时必须用这个库.
 
rts2800_fpu32.lib库文件:用于FPU目标的C / C ++运行时对象库,(F28335中支持FPU浮点运算)

 


如果程序中有三角函数或开根号等运算,推荐用fastRTS库或者IQmath库来计算,所以我们把FPUfastRTS文件夹和IQmath文件夹也拷贝过来备用。(注:此工程暂时用不到,故没有添加进工程,如以后需要,从“TI官方库文件”文件夹中添加进工程即可,添加方式和和上面两个库rts2800_ml.lib和rts2800_fpu32.lib一样,下面将会介绍)



接下来添加文件到工程,首先我们把“TI官方库文件/(common和headers)/include”文件夹下所有文件都拷贝到我们所搭建工程的“Fwlib/Include”文件夹下,然后把库文件rts2800_ml.lib和rts2800_fpu32.lib拷贝到Libraries文件夹下。最后再把搭建工程下的28335_RAM_lnk.cmd文件和“TI官方库文件/(common和headers)/cmd”文件夹中的F28335.cmd和DSP2833x_Headers_nonBIOS.cmd文件拷贝到工程Cmd文件夹下。完成之后CCS6.0会自动将新添加的文件加到项目浏览器中,效果如下图:



 
文件功能说明:
cmd文件的选择则根据运行模式选择:
在线仿真模式:使用28335_RAM_lnk.cmd文件
Flsah烧写模式:使用F28335.cmd文件
DSP2833x_Headers_nonBIOS.cmd:无操作系统时使用
DSP2833x_Headers_BIOS.cmd  :有操作系统时使用
 
到此,基本文件的添加就完成了。
 

5.      完成工程文件的添加,先不要编译。此时编译的话会出现很多错误,因为我们工程下的Include文件夹下的头文件,以及Libraries文件夹下库文件还需要添加索引路径。

首先右键点击项目浏览器中的项目名,打开Properties(属性)



上述第(4)步Workspace选项是相对路径,File sysem..是绝对路径,如果选择File sysem..来确定路径,当工程移植到非此时默认的workplace工作空间,就又会提示错误,故此最好选择Workspace选项。然后选中Include文件夹,点击确定,效果如下:



 
   然后可以看到工程浏览器中工程Includes下多出了刚才添加的路径:
  


接下来我们添加库文件的路径,同样右键点击项目浏览器中的项目名,打开Properties(属性)



第(3)步添加我们工程“Libraries”文件夹下的库文件,第(4)步把“Libraries”文件夹路径也添加进来,同样选择Workspace相对路径。
 

6.      配置仿真器:

右键点击工程名,选择New—>TargetConfiguration File,File name取名任意,这里取为F28335.ccxml,点击Finish。



然后我们选择自己配套所使用的仿真器,这里使用的是TIDSP-XDS100V2型号仿真器,
板子及设备选择:TMS320F28335,完成后点击Save保存。



 

7.      为了是工程层次更清晰以及便于管理,我们对一些文件的位置进行调整:

以程序模块化的思想,我们把用户自己写的源文件,头文件以及main.c文件放在我们事先建立的“USER”文件夹里,首先是main.c文件,直接在工程浏览器下,拖动main.c文件到“USER”文件夹,然后右键点击工程下的“USER”文件夹新建LED.c和LED.h文件到“USER”文件夹中。
接下来,我们把仿真文件夹直接拖动到“TargeConfigs”文件夹下
到此,我们的工程搭建就基本完成了。

8.      完成最后调整与配置:

现在让我们编译一下工程,在工程浏览器下右键点击工程名,选中Build Project,编译工程
(说明:工程第一次编译时,可以用Build Project,等同于工具栏上的“小锤子图标”,但只能在工程进行了实际更改的情况下才能编译,也就是只编译更改的部分文件,否则不会编译成功。Clean Project主要作用就是把编译好的Output等文件删除,激活eclipse的自动编译。Rebuild Project作用,重新编译整个工程)



工程编译完成后,“Console”以及“Problems”窗口提示很多错误



在上图中看到几乎提示的都是重定义错误,找到重定义文件,分别为:
DSP2833x_SWPrioritizedPieVect.c  :软件中断优先级设置
DSP2833x_SWPrioritizedDefaultIsr.c :软件中断优先级缺省值(即设置失效)
这些我们暂时也用不到,删除这两个文件即可。

还有F28335.cmd文件中的提示:内存已经被指定。



我们在前面也已经提到28335_RAM_lnk.cmd文件用于在线仿真,F28335.cmd文件用于Flsah烧写,两个文件功能不同,同时只能存在一个,但我们还是放在Cmd文件夹下,因为程序进行烧录固化时必须要用,但留着又提示错误,怎么办呢?此时我们可以暂时在编译时忽略此文件,在工程浏览器Cmd文件夹下选中F28335.cmd文件右键点击,选择“Exclude for Build”(即忽略编译此文件)操作
 


然后重新进行编译,0错误,0警告,工程搭建完成。



 

9.      最后说明:

搭建可移植工程的目的是什么,一是增强我们对工程框架以及各个文件功能的理解,二就是方便以后我们使用——不用以后每次都要重新创建工程。着实节约开发时间。在CSS3.3中我们把工程拷贝到“MyProjects”文件夹下改个文件夹名就行了,可是CCS6.0中工程与文件都与路径有关,而且CCS6.0识别的不是工程文件夹的名字,而是具体的工程文件.Project,而这个文件名是不可以直接重命名的。这下我们怎么办呢?其实,CCS6.0工程下,移植创建新工程更加方便,不止文件夹的名字可以更改回来,连工程名也可以更改。想要实现你的要求,你可以在CCS工程浏览器下选择你的工程,右键—>copy,然后再工程浏览器空白处点击—>Paste(粘贴)在弹出的Copy Project对话框中填写你的新工程名和保存路径就可以了。







而如果你要移植到别的电脑或工作空间,就必须要导入工程了,然后又可以按上一个方法方便的创建新的工程了。点击工具栏—>Project—>Import CCS Project..,选择好要导入的工程,点击确定即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息