DSP实验
实验二 TI DSP集成开发环境CCS的使用
昆明理工大学信息工程与自动化学院电工电子教学实验中心
主讲:杨秋萍 讲师
CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。
一、CCS的简介
CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具。 CCS有两种工作模式:
1、软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。
2、硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
本次实验主要采用软件仿真器模式。
二、CCS系统配置
采用标准配置文件进行系统配置的步骤:
步骤1:启动CCS配置程序。双击桌面上的Setup CCS快捷图标,弹出对话框。
19
可供使用 的配置
加入配置按钮
系统配置栏目 清除配置按钮
步骤2:清除以前定义的配置。
步骤3:选择与目标系统相匹配的配置文件。 步骤4:将所选中的配置文件加入到系统配置中。
步骤5:安装驱动程序。点击“Intall a Device Driver”,弹出选择器件驱动程序对话框。
系统配置窗口
安装驱动程序
步骤6:保存系统配置。打开“File”菜单,单击“Save”按钮,将系统配置保存在系统寄存器中,完成CCS的系统配置。
三、CCS中常用文件名和应用界面
1、常用文件名
*.cmd —— 链接命令文件;
*.obj —— 由源文件编译或汇编后所生成的目标文件;
*.out —— 完成编译、汇编、链接后所形成的可执行文件,可在CCS监控下调试和执行。
20
2、应用界面
源程序编辑主菜单 工具条 窗口 图形显示窗口 内存显示工程项目窗口 反汇编窗口 寄存器显示窗口 窗口
四、实验举例
1. 创建新工程
利用CCS创建一个新工程,然后向该工程中添加源代码文件和库文件。 1) CCS的安装目录为c:\\ti,首先在文件夹c:\\ti\\myprojects\\下建立一个新的文
件夹,命名为volume1。
2) 将c:\\ti\\tutorial\\target(sim54xx或dsk5402等)\\volume1文件夹中的内容拷贝
到该新建的文件夹中。
3) 启动CCS。如果需要的话,对CCS进行配置,使其工作在C54x simulator
模式下。
4) 从CCS的Project菜单下选择子菜单New。将出现Project Creation对话
框。在对话框中“Project Name”处输入volume1,“Location”处用浏览方式选入在第一步中所建立的文件夹volume1的位置,在“Project Type”处选择Executable(.out)类型,在“Target”中选择CCS所配置的目标DSP类型。最后单击“Finish”完成。
5) 通过上述步骤Code Composer Studio就建立了一个工程文件,名为
volume1.pjt,该工程文件用于存储工程配置以及在工程中所用到的若干文件。可在“工程项目观察窗口(Project view)”处看到。
2. 向工程中添加文件
21
一个工程项目包括源程序、库文件、链接命令文件和头文件等。
1) 在CCS中选择菜单Project???dd Files to Project,然后选文件volume.c,并
单击Open。(也可在工程图标处单击鼠标右键在快捷菜单中选Add Files to Project,或将文件拖入工程视图窗口的文件夹中。)
2) 在CCS中选择菜单Project???dd Files to Project,并在文件类型选框中选
汇编源文件(*.a*, *.s*),然后选vectors.asm 和 load.asm 这两个文件并单击Open。这些文件中包含了设置复位RESET中断到程序的C入口c_int00的一些汇编指令。(对于更加复杂的程序,可在vectors.asm 文件中定义更多的中断向量。也可利用DSP/BIOS来自动定义所有的中断向量。)
3) 在CCS中选择菜单Project???dd Files to Project,并在文件类型选框中选
择链接命令文件(*.cmd),然后选volume.cmd并单击Open,该命令文件将汇编程序的段映射到DSP的存储空间中。
4) 在CCS中选择菜单Project???dd Files to Project,进入编译库文件夹
(c:\\ti\\c5400\\cgtools\\lib),在文件类型选框中选择目标文件类型和库文件类型(*.o*, *.lib),为所配置的目标DSP选rts.lib文件并单击Open。该库文件为目标DSP提供了运行时间(runtime)支持。(对于一些目标DSP,运行时间库可以是一个更特殊的文件名,如rts_ext.lib 。)
5) 在工程视图窗口,用鼠标右键单击工程文件volume.pjt 并在快捷菜单中选
择 Scan All Dependencies。这时volume.h应出现于工程视图窗口中的库(Libraries)文件夹中。
6) 单击Project左边的小加号+,将展开工程列表:volume1.pjt,Libraries,
以及 Source。该列表即为工程视图。
无需手工向工程中加入include文件,因为CCS将会在编译过程中自动找到这些文件。编译之后在工程视图中将出现这些include文件.。
如果要从工程中移出一个文件,只要在相应文件处单击鼠标右键在弹出的快捷菜单中选Remove from project 即可。
编译时CCS在以下路径依次查找工程文件:包含有源文件的文件夹;在compiler 或 assembler 选项中从左到右依次列出的文件夹。
22
3. 察看源代码
在工程视图中volume.c上双击,就可在CCS右边窗口中察看源代码。 请注意该程序中的以下部分:
?
在进入main函数后打印出一条消息,并进入死循环。循环体中程序调用了dataIO以及其他一些过程函数。 ?
在过程函数中,将输入缓冲区(input buffer)中的每一个数值乘以增益(gain),并将结果放入输出缓冲区(output buffer)。程序也将调用汇编载入例程,该例程按照传递给它的processingLoad取值来消耗指令周期。 ?
本例中dataIO函数除了返回之外不做其他任何动作。我们在这里不使用C代码来完成I/O,而是利用CCS中的一个探针Probe Point 来从主机的文件中读入数据并放入inp_buffer区域。
4. 编译并运行程序
编译并运行程序的步骤:
1) 选Project?Rebuild All 或单击工具按钮 (Rebuild All)。CCS重
新编译,并链接工程中的全部文件。编译过程信息显示在CCS下部的窗口中。
2) 在默认情况下,将当前工程目录下的debug子目录中生成.out文件。通过
CCS工具条可改变生成文件的存放位置。
3) 选File?Load Program,并在对话框中选刚刚编译生成的文件
volume1.out,单击Open打开。(默认在目录c:\\ti\\myprojects\\volume1\\Debug\\ 文件夹下)这样CCS就将程序载入目标DSP,并打开一个反汇编窗口,显示出相应的反汇编指令。CCS也将在窗口底部自动打开一个标签区域来显示程序送往stdout的输出。
4) 选View?Mixed Source/ASM,将同时看到c源代码和汇编结果代码。 5) 在混合模式窗口中单击一条汇编伪指令本身,并按F1键,CCS将搜索该
条指令的帮助。
6) 选Debug?Go Main开始从main 函数处执行程序。程序暂停在main处,
23