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

 

本工程以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.librts2800.lib对应,rts2800_ml.lib用的是大存储模式,在需要烧写FLASH时必须用这个库.

 

rts2800_fpu32.lib库文件:用于FPU目标的C / C ++运行时对象库,(F28335中支持FPU浮点运算)

 

 

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

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

 

文件功能说明:

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 FileFile name取名任意,这里取为F28335.ccxml,点击Finish

然后我们选择自己配套所使用的仿真器,这里使用的是TIDSP-XDS100V2型号仿真器,

板子及设备选择:TMS320F28335,完成后点击Save保存。

 

 

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

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

 

更新(2019.8.13//开始// :

LED文件是为了驱动板载LED灯,实现一个完整的项目并能够方便下载到DSP开发板上验证,而更重要的我们还需要新建一个“System.c”文件和“System.h”文件,用来“配置并初始化系统时钟,GPIO及相关寄存器,中断等”,这部分是每一个DSP项目工程所必不可少的,一般需要我们自己配置实现,不过没有特殊需求,一般情况下 所有外设驱动程序或项目,按下图配置即可,不用做任何更改,只需要把头文件“System.h”包含到“main.c”中,并在main函数中进行初始化。具体实现可参考笔者搭建好的工程模板

文件夹下总体效果如下图:

      

【注】若需要验证其它外设驱动程序或项目,添加自己编写好的外设“*.c”和‘*.h’文件即可。

           添加文件方法:直接拷贝自己编写好的外设“*.c”和‘*.h’文件到“USER”文件夹下(一般工程CCS6.0 IDE会自动添加文件到工程浏览器对应文件夹下),若没有自动添加,右键点击工程下的“USER”文件夹,选择“Add Files”添加文件到USER文件夹中。

                                                                                                                                                     更新(2019.8.13://结束//

                                                                                                                                 

接下来,我们把刚刚建立的仿真文件“F28335.ccxml直接拖动到“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..,选择好要导入的工程,点击确定即可。

 

  • 24
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值