使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

面对软件日益更新的环境,老旧软件在新系统上不兼容的问题越来越多。教程采用较新的CCS 9.2.0和Proteus 8.9软件来设计我们较为熟悉的2802X系列DSP,通过仿真验证模拟代码是否设计的准确、有效。

教程如有不足之处虚心接受批评和建议,另希望转载的同学注明下出处,谢谢!

目录

准备工作

软件安装

在CCS中开发项目

在Proteus中仿真


准备工作

需要准备和安装的软件

  • CCS 9.2.0
  • Proteus 8.9
  • 2802X C/C++ Header Files and Peripheral Examples
  • 运行环境 Windows 10 - 1909 64bit

软件安装时注意:

  • CCS的安装不明白的话就选择完全安装,安装可选的负荷我看不太明白,但是少了必要的东西是肯定无法编译可执行文件的。
  • 尽量使用软件所给的默认安装目录,且安装路径中不要有中文。

这些安装包大家自己先在网上找,都能找到的,日后有时间我再上传。

软件安装

挖个坑先,其实软件都挺好装的,可以在网上先搜索下教程,日后有时间再补上。

在CCS中开发项目

好了,进入正题。在这之前,先在C盘根目录下(或者其他不包含中文路径的目录)复制一份安装好的2802X C/C++ Header Files and Peripheral Examples文件,下文称之为模板文件,可以直接从.../v126目录下开始复制,效果如图。当然,你还可以对文件夹改个名字,记好就行。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

顺便解释,复制的目的是为了保存源目录下的文件能被重复使用开发,不然改过了想要再恢复就只能重装了。所以每次开发新项目之前,先复制一遍模板文件。

接下来,以管理员身份启动Code Composer Studio 9.2.0程序,否则可能打不开。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

弹出工作目录选择框,点击Browse...(浏览…)选择刚刚复制的模板文件的目录下,选择Launch(登录)。

可能有的同学会遇到下面这个错误提示,暂时不要担心,它不会影响这里后续的开发(但要是用CCS的仿真环境可能会出现问题)。点击OK关闭它。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

这里以GPIO端口使用为例,开发一个LED灯的项目。选择Project(项目)→Import Legacy CCSv3.3 Projects...(导入旧的CCSv3.3工程)

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

弹出工程引入对话框,选择Browse...(浏览…)

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

在这里我们选择这个目录...\v126\DSP2802x_examples\gpio_toggle下的.pjt文件(根据自己之前的目录适当调整,找到它),注意不要跑到DSP2802x_examples_ccsv4下找模板,以后开发的时候也是。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

选好后,一直选择下方的Next>(下一步),直到最后一个页面,选择Finish(结束)。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

可能会弹出这个报错,忽略它,点击OK关掉。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

左侧出现了Project Explorer(工程文件浏览器)面板,点开树状图,找到Example_2802xGpioToggle.c文件,这是主函数所在的C源文件

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

看到代码界面,官方例程的代码已经很完整了,我们不再改动,接下来我们编译一下,生成可用于Proteus仿真的可执行文件。编译之前我们要做一些设置。右键面板树状图的工程文件夹,选择Properties(属性)

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

进入属性对话框,我们需要修改三处地方。

第一处:General(通用)-Project(工程)选项卡

Variant(变量)选择2802x Piccolo-TMS320F28027

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

第二处:General(通用)-Products(产生文件)选项卡

选择XDC Tools,并去掉XDAIS。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

第三处:C2000 Linker(C2000连接器)-Basic Options(基本选项)

将Specify output file name(指定输出文件名)最后的文件扩展名.out改为.cof,才能用于Proteus执行。注意,平常烧录在真正的开发器的时候还是要用.out。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

设置完成,点击Apply and Close(应用并关闭)完成设置。

准备工作完成,开始编译,点击左上角的小锤子“Build”按钮编译输出可执行文件。官方例程的代码不会有错,设置顺利的话Console(控制台)面板就会提示输出了.cof文件。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

在Proteus中仿真

以管理员身份启动Proteus 8 Professional程序,否则后续不能正常使用元件库。启动后在主页选择新建工程,设置好工程名称和路径,这里没有特殊要求,最好都用英文。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

需要创建原理图,没有特殊要求选择DEFAULT(默认)就好,然后下一步

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

本例不创建PCB布板,下一步。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

代码已在CCS中写好并编译,因此本例不创建固件项目,直接下一步。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

核对一下,只创建原理图,没啥问题,点击完成。

接下来布置元件。点击左侧元件模式按钮,再点击P按钮,在弹出的Pick Devies(选择元件)中,Keywords(关键词)搜索TMS就能找到TMS320F28027元件,这里我们选择TMS320F28027PT封装,点击确定

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

放在原理图中间就好,像这样。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

按照相同的方式搜索“RES”和“LED-RED”元件,布置成这样并连线,注意电阻阻值改为200。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

加个电源:点击左侧终端模式按钮→选择POWER,布置好后记得连线,像图里这样。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

导入可执行文件:双击原理图中的DSP固件,弹出编辑元件窗口,在Program File(程序文件)点击右侧的文件夹浏览按钮。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

找到目录...\v126\DSP2802x_examples\gpio_toggle\Debug文件夹,下面有生成好的.cof文件,选择它。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

回到编辑元件窗口,点击确定,导入可执行文件完成。点击左下方的运行按钮,启动仿真,可以看到LED在闪烁~

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

最后呢,Proteus也能执行一些按步仿真和观察存储变量的操作,在菜单栏的调试→TMS320F2802X→Source Code(源代码)或者 Variables(变量)。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目

注意需要暂停仿真才能看到这些内容。注意Proteus中的源代码是支持添加断点调试的,双击代码左侧就可以添加断点(但是我测试的时候添加上就不好去掉了),到这里就完成了。

使用CCS 9.2.0和Proteus 8.9开发并仿真DSP-TMS320F28027项目