Code Composer Studio入门
一.实验目的
1.掌握Code Composer Studio 2.21的安装和配置步骤过程。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解Code Composer Studio 2.21软件的操作环境和基本功能,了解TMS320
C28xx软件
开发过程。
(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、W
indowsXP,
以下假定操作系统为Windows2000)。Windows操作系统的内核如果是NT的应安
装相应
的补丁程序(如:Windows2000为Service Pack3,WindowsXP为Service Pack
1)。
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-Us
eCCS,改变
文件类型为“C Source Files(*.c;*.ccc)”,选择显示出来的文件“volum.c”;重复上
述各步骤,
添加C:\\ICETEK-F2812-A-EDUlab\\DSP281x_examples\\Lab0101-UseCCS\\volum
e.cmd文件到
volum工程中;添加C:\i\\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数组;再调用自定义函数w
rite_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\\vol
ume.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),再单击鼠标右键,选择“Qui
ck Watch”,
CCS将打开Quick Watch窗口并显示选中的变量。
(3)在volume.c中,选中变量num,单击鼠标右键,选择“Add to Watch Windo
w”,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.基本调试功能的掌握与心得。
学习一个开发工具首先要学习建立“Hello World !”程序。
下面就介绍一下怎样用Code Composer Studio建立“Hello World !”程序。
首先,new project,输入hello,然后完成。这时在安装Code Composer Studio目
录下的myprojects(存放用户创建的工程)中会多出hello文件夹。
然后编写hello world的C文件。建立C文件,File->new->source file。将下列C
代码填入文件中
#include void main()
{
printf(\"Hello World !\\n\");
}
然后保存成C文件,File->save,选择文件类型(*.c),输入文件名hello,保存。需要把刚刚编写的C文件添加到工程,在Code Composer Studio界面左侧可以看到创建的hello工程,在hello.pjt处右键-〉Add Files to Project,选择文件类型(*.c;*.ccc),选择hello.c。这时在Code Composer Studio界面的hello工程下可以看到hello.c文件。
但现在还不能运行。
Code Composer Studio运行需要两个特殊的文件即.asm和.cmd。我们直接把这两个文件拷贝过来。寻找Code Composer Studio安装目录中的tutorial\\simxx\\hello1(根据具体情况而定,就是寻找自带例子中的.asm和.cmd),可以看到hello.cmd和vectors.asm,将这两个文件复制粘贴到myprojects下的hello文件夹中(即刚刚创建工程所在的文件夹)。下面把这两个文件添加到工程。在Code Composer Studio界面左侧
的hello.pjt处右键-〉Add Files to Project,选择文件类型(*.a*),然后选择vectors.asm。
再如此添加hello.cmd。
最后需要添加一个库文件,这个要依你配置的处理器而定,我选择的处理器是C16 Functional Simulator,所以在hello.pjt处右键->Add Files to Project,然后选择文件
夹ti-> c6000->cgtools->lib,选择文件类型(*.o*;*.l*),添加rts00.lib。
现在就可以编译运行了。点击Code Composer Studio界面中上部的增量编译按钮
(有两个向下的蓝色箭头),如果编译通过,则可以继续。
运行之前需要先Load Program,File->Load Program,选择hello文件夹下Debug下的hello.out。如果Load成功,那么就可以运行了,如果编译通过,但Load不成功,
则需要看看CCS的处理器配置。
OK,点击Code Composer Studio界面左侧运行按钮(跑步的小人,不带影子的。
或者Debug->Run),Hello World !出现。