Code Composer Studio入门
一.实验目的
1.掌握Code Composer Studio 2.21的安装和配置步骤过程。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解Code Composer Studio 2.21软件的操作环境和基本功能,了解TMS320C28xx软件
开发过程。
(1)学习创建工程和管理工程的方法。
(2)了解基本的编译和调试功能。
(3)学习使用观察窗口。
(4)了解图形功能的使用。
二.实验原理
*开发TMS320C2xxx应用系统一般需要以下几个调试工具来完成:
-软件集成开发环境(Code Composer Studio 2.21):完成系统的软件开发,进行软件和硬件
仿真调试。它也是硬件调试的辅助手段。
-开发系统(ICETEK 5100 USB或ICETEK 5100 PP):实现硬件仿真调试时与硬件系统的通
信,控制和读取硬件系统的状态和数据。
-评估模块(ICETEK F2812-A等):提供软件运行和调试的平台和用户系统开发的参照。
*Code Composer Studio 2.21主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、
编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF (公共目标文件)格式的可执
行文件,并能将程序下载到目标DSP上运行调试。
*用户系统的软件部分可以由CCS建立的工程文件进行管理,一般包含以下几种文件:
-源程序文件:C语言或汇编语言文件(*.ASM 或*.C)
-头文件(*.H)
-命令文件(*.CMD)
-库文件(*.LIB,*.OBJ)
三.实验设备
1.PC兼容机一台;操作系统为Windows2000 (或WindowsNT、Windows98、WindowsXP,
以下假定操作系统为Windows2000)。Windows操作系统的内核如果是NT的应安装相应
的补丁程序(如:Windows2000为Service Pack3,WindowsXP为Service Pack1)。
2.ICETEK-F2812-EDU实验箱一台。
3.USB连接电缆一条(如使用PP型仿真器换用并口电缆一条)。
四.实验内容与步骤
1.实验准备
由于本实验采用软仿真模式,无需打开实验箱电源。
2.设置Code Composer Studio 2.21在软仿真(Simulator)方式下运行
请参看本书第一部分、四、1。
3.启动Code Composer Studio 2.21
请参看本书第一部分、五、2。
选择菜单Debug→Reset CPU。
成功地启动了CCS后会出现如下窗口:
图1-1 CCS软件界面介绍
4.创建工程
(1)创建新的工程文件
选择菜单“Project”的“New…”项。
如下图,按编号顺序操作建立volume.pjt工程文件:
展开主窗口左侧工程管理窗口中“Projects”下新建立的“volume.pjt”,其各项均为空。
(2)在工程文件中添加程序文件:
选择菜单“Project”的“Add Files to Project…”项;在“Add Files to Project”对话框
中选择文件目录为C:\ICETEK-F2812-A-EDUlab\DSP281x_examples\Lab0101-UseCCS,改变
文件类型为“C Source Files(*.c;*.ccc)”,选择显示出来的文件“volum.c”;重复上述各步骤,
添加C:\ICETEK-F2812-A-EDUlab\DSP281x_examples\Lab0101-UseCCS\volume.cmd文件到
volum工程中;添加C:\ti\c2000\cgtools\lib \rts2800_ml.lib。
(3)编译连接工程:
选择菜单“Project”的“Rebuild All”项,或单击工具条中的按钮;注意编译过
程中CCS主窗口下部“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。
5.编辑修改工程中的文件
(1)查看工程文件
展开CCS主窗口左侧工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含
“volume.h”、“rts2800.lib”、“volume.c”和“volume.cmd”文件,其中第一个为程序在编译
时根据程序中的“include”语句自动加入的。
(2)查看源文件
*双击工程管理窗中的“volume.c”文件,可以查看程序内容。可以看到,用标准C语
言编制的程序,大致分成几个功能块:
-头文件。描述标准库程序的调用规则和用户自定义数据、函数头、数据类型等。具体
包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。比如:如果程序中使
用了printf函数,它是个标准C提供的输入/输出库函数,选中“printf”关键字,按Shift+F1
会启动关于此关键字的帮助,在帮助信息中可发现其头函数为stdio.h,那么在此部分程
序中需要增加一条语句:#include “stdio.h”。
-工作变量定义。定义全局变量。
-子程序调用规则。这部分描述用户编制的子程序的调用规则。也可以写到用户自己编
制的.h文件中去。
-主程序。即main()函数。它可分为两部分:变量定义和初始化部分、主循环部分。主
循环部分完成程序的主要功能。
-用户自定义函数。
这个程序是一个音频信号采集、处理输出的程序。程序的主循环中调用自定义的函数
read_signals来获得音频数据并存入输入缓存inp_buffer数组;再调用自定义函数write_buffer
来处理音频数据并存入输出缓存;output_signals将输出缓冲区的数据送输出设备;最后调
用标准C的显示信息的函数printf显示进度提示信息。整个系统可以完成将输入的音频数据
扩大volume倍后再输出的功能。
read_signal子程序中首先应有从外接AD 设备获得音频数据的程序设计,但此例中由于
未采用实际AD 设备,就未写相应控制程序。此例打算用读文件的方式获得数据,模拟代替
实际的AD 输入信号数据。
write_buffer 子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然
后放入输出缓冲区。
output_signals函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设
备,所以函数中未写具体操作语句。
*双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中
要用到的一些宏定义如“BUF_SIZE”等。
*volume.cmd 文件定义程序所放置的位置,此例中描述了ICETEK-F2812-A评估板的存
储器资源,指定了程序和数据在内存中的位置。
(3)编辑修改源文件及编译程序
打开“volume.c”,找到“main()”主函数,将语句“input=inp_buffer;”最后的分号去掉,
这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现发现错
误的提示;双击红色错误提示,CCS自动转到程序中出错的地方;将语句修改正确(将语句
末尾的分号加上);重新编译;注意:重新编译时修改过的文件被CCS自动保存。
(4)修改工程文件的设置
图1-4 修改工程文件
通过以上设置操作,重新编译后,程序中的用户堆栈的尺寸被设置成1024个字。
6.基本调试功能
(1)下载程序:执行FileàLoad Program ,在随后打开的对话框中选择刚建立的文件:
C:\ICETEK-F2812-A-EDUlab\DSP281x_examples\Lab0101-UseCCS\Debug\volume.out
(2)设置软件调试断点:在项目浏览窗口中,双击volume.c激活这个文件,移动光标到main()
行上,单击鼠标右键选择Toggle Breakpoint 或按F9 设置断点(另外,双击此行左边的灰
色控制条也可以设置或删除断点标记)。
(3)利用断点调试程序:选择DebugàRun或按F5 运行程序,程序会自动停在main()函数上。
①按F10 执行到write_buffer()函数。
②再按F8,程序将转到write_buffer 函数中运行。
③此时,为了返回主函数,按shift-F7 完成write_buffer 函数的执行。
④再次执行到write_buffer 一行,按F10 执行程序,对比与F8 执行的不同。
7.使用观察窗口
(1)执行ViewàWatch Window打开观察窗口。
(2)在volume.c中,用鼠标双击一个变量(比如num),再单击鼠标右键,选择“Quick Watch”,
CCS将打开Quick Watch窗口并显示选中的变量。
(3)在volume.c中,选中变量num,单击鼠标右键,选择“Add to Watch Window”,CCS将
把变量添加到观察窗口并显示选中的变量值。
(4)在观察窗口中双击变量,则弹出修改变量窗口。此时,可以在这个窗口中改变变量的值。
(5)把str 变量加到观察窗口中,点击变量左边的”+”,观察窗口可以展开结构变量,并且显示结
构变量的每个元素的值。
(6)把str 变量加到观察窗口中;执行程序进入write_buffer 函数,此时num变量超出了作用
范围,可以利用Call Stack窗口察看在其他函数中的变量:
①选择菜单ViewàCall Stack打开堆栈窗口。
②双击堆栈窗口的main()选项,此时可以察看num变量的值。
8.文件输入/输出
Code Composer Studio的Probe(探针)断点允许用户在指定位置提取/注入数据。Probe
断点可以设置在程序的任何位置,.当程序运行到Probe断点时,与Probe断点相关的事件将
会被触发,当事件结束后,程序会继续执行。在这一节里,Probe断点触发的事件是:从PC
机存储的数据文件中的一段数据加载到DSP的缓冲区中。
图1-5 设置file io文件
(1)在真实的系统中,read_signals函数用于读取A/D模块的数据并放到DSP缓冲区中。在
这里,代替A/D 模块完成这个工作的是Probe断点。当执行到函数read_signals时,Probe
断点完成这个工作。
①在程序行read_signals(input);上单击鼠标右键选择“Toggle breakpoint”,设置软件断点。
②再在同一行上单击鼠标右键,选择“Toggle Probe Point”,设置Probe断点。
(2)执行图1-5 的操作
此时,已经配置好了Probe断点和与之关联的事件.进一步的结果在下面实验中显示。
9.图形功能简介
下面我们使用CCS的图形功能检验上一节的结果。首先进行下面设置操作:
图1-6 设置图形显示功能
-在弹出的图形窗口中单击鼠标右键,选择“Clear Display”。
-按F12 运行程序.观察input 窗口的内容。
10.选择菜单File→workspace→save workspacs As…,输入文件名SY.wks 。
11.退出CCS 。
五.预习要求
1.熟悉DSP系统的软硬件安装连接方法。
2.要求熟悉Code Composer Studio 2.21的安装和配置步骤过程及其操作环境和基本功能。
六.注意事项
在执行C语言的程序时,为了快速的运行到主函数调试自己的代码,可以使用
DebugàGo main命令,本实验中的使用的是较为繁琐的一种方法。
七..思考题
通过对工程文件“volume”的编译、执行后得到结果的图形显示?
八.实验报告要求
1.硬软件的安装及创建查看文件的掌握与体会?
2.基本调试功能的掌握与心得。
评论
查看更多