DSP实验报告—实验1

实验CCS软件应用实验

 

一、实验目的

1.掌握Code Composer Studio 5的安装和配置步骤过程;

2.了解DSP开发系统和计算机与目标系统的连接方法;

3.了解Code Composer Studio 5软件的操作环境和基本功能,了解TMS320C28xx软件发过程。

(1)学习创建工程和管理工程的方法。

(2)了解基本的编译和调能。

(3)学习使用观察窗口。

(4)了解图形功能的使用。

二、实验设备

PC兼容机一台,操作系统为WindowsXP或者以上版本,安装了CodeComposerStudiov5软件。

三、实验原理

开发TMS320C28xx应用系统一般需要以下几个调试工具来完成:

软件集成开发环境(CodeComposerStudio5.x):完成系统的软件开发,进行软件和硬件仿真调试。它也是硬件调试的辅助手段。

开发系统(ICETEK-XDS100V2+):实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。CodeComposerStudio5.x主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:

源程序文件:C语言或汇编语言文件(*.ASM或*.C)

头文件(*.H)

命令文件(*.CMD)

库文件(*.LIB,*.OBJ)

四、实验步骤

1.创建工程

⑴创建新的工程文件:选择菜单“View”的“ProjectExplorer”项,打开工程查看界面

在ProjectExplorer窗口的空白地方右键选择New->CCSProject:

在弹出的窗口中设置工程名称,以及工程的设备类型,这里我们新建工程volume,Device型号为TMS320F28335,点击Finish完成创建:

⑵在工程文件中添加程序文件:

当我们创建完工程后,在ProjectExplorer窗口可以查看该工程的各个文件(若ProjectExplorer窗口被隐藏,则可以用菜单的View->ProjectExplorer调出,或者把最大化的窗口还原):

这里工程中的main.c和28335_RAM_link.cmd文件我们不需要,在这2个文件上右键选择Delete删除。

在弹出的窗口中找到C:\ICETEK\F28335-V5.0\Lab101-useccs目录:

按住“Ctrl”键,选择volume.c、volume.h、volume.cmd和sine2.dat文件。然后点击打开按钮:

在弹出的窗口中选择文件导入的方式:

Copyfiles:刚才选中的3个文件会被拷贝到workspace的刚才新建的工程文件夹中,即C:\ICETEK\workspace-28335\volume目录下。Linktofiles:则文件不会被拷贝,以链接的形式把刚才的3个文件加入到工程中。此时这3个文件还在原始的位置,即C:\ICETEK\F28335-V5.0\Lab101-useccs目录下。这里我们先选择Copyfiles,点击OK完成。

上述仅仅添加了工程的各个文件,但我们要进行仿真调试的话,还需要一个目标配置文件(TargetConfigurationFile)。

在TargetConfigurations窗口中(若没有此窗口,可以用View菜单调出),找到我们已配置好的文件F28335-Simulator.ccxml(若没有参见第三部分、第一章、四、2新建一个),点击右键->LinkFileToProject->volume.

⑶进入仿真调试:

点击菜单栏下方的图标 ,CCS开始自动编译,连接和下载程序。最终的界面大致如下(可能会有所不同):

我们可以看到,新增了一个Debug窗口,ccs自动打开volume.c,并且跳转到main函数。

2.编辑修改工程中的文件:

⑴查看工程文件:

点击菜单的View->ProjectExplorer调出工程查看窗口,展开工程各分支,可以看到“volume”工程中包含的各个文件。可分为四类文件:

.c源文件

.cmd文件

.h头文件

.ccxml目标配置文件

⑵查看源文件:

*双击工程管理窗中的“volume.c”文件,可以查看程序内容。可以看到,用标准C语言编制的程序,大致分成几个功能块:

头文件。描述标准库程序的调用规则和用户自定义数据、函数头、数据类型等。

⑶编辑修改源文件及编译程序:打开“volume.c”,找到“main()”主函数,将语句“input=inp_buffer;”最后的分号去掉,这样程序中就出现了一个语法错误;

重新编译工程时,CCS会提示"程序重新编译过,是否重新下载?"

我们点Yes,则ccs会把最新编译出的文件下载到DSP中。

⑷查看和修改工程文件的设置:

在工程上右键->Properties,打开工程属性设置窗口。

可以看到,在Build一项中,分为C2000Compiler C2000Linker(链接器),我们点中C2000Linker下的BasicOptions,则在右边可以设置程序的堆栈大小。

3.基本调试功能:

⑴下载程序:执行Run->Load->LoadProgram,在随后打开的对话框中选择刚刚建立的C:\ICETEK\workspace-28335\volume\Debug\volume.out文件,手动下载刚才编译生成的最终文件volume.out。

⑵设置软件调试断点:在项目浏览窗口中,双击volume.c激活这个文件,移动光标到

while(TRUE)行上,在行号前双击鼠标左键即在此处设置了一个断点。或者在该行右键->Breakpoint->Breakpoint:

 

⑶利用断点调试程序:选择Run->Resume或按F8或点击Debug窗口中的    运行程序,程序会自动停在while(TRUE)上。

①按F6单步执行到write_buffer()函数。

②再按F5,程序将转到write_buffer函数中运行。

③此时,为了返回主函数,按F7完成write_buffer函数的执行。

4.使用观察窗口:

⑴在volume.c中,用鼠标双击一个变量(比如num),再单击鼠标右键,选择“AddWatchExpressions”,在弹出的窗口中点击ok,CCS将打开Watch窗口并显示选中的变量。

⑵在观察窗口中单击变量值(Value栏),此时Value变为可编辑状态,我们可以输入一个值,然后回车,即可改变变量的值。

⑶把str变量加到观察窗口中,点击变量左边的,观察窗口可以展开结构变量,并且显示结构变量的每个元素的值。

⑷把str变量加到观察窗口中;执行程序进入write_buffer函数,此时num变量超出了作用范围,可以看到num变量无法查看了:

5.文件输入/输出

下面介绍如何从PC机上加载数据到DSP上。用于利用已知的数据流测试算法。在完成下面的操作以前,先介绍CodeComposerStudio的断点,断点允许用户在指定位置提取/注入数据。断点可以设置在程序的任何位置,当程序运行到断点时,相关的事件将会被触发,当事件结束后,程序会继续执行。在这一节里,断点触发的事件是:从PC机存储的数据文件中的一段数据加载到DSP的缓冲区中。

(1)在真实的系统中,read_signals函数用于读取A/D模块的数据并放到DSP缓冲区中。在这里,代替A/D模块完成这个工作的是断点。当执行到函数read_signals时,断点完成这个工作。

①在程序行read_signals(input);上单击鼠标右键选择“Breakpoint(CodecomposerStudio)->Breakpoint”,设置软件断点。点击CCS菜单的View->Breakpoints,调出断点观察窗口,可以看到我们刚才设置的断点。若我们设置了多个断点,则通过行号来区分,例如我们这个断点是line40,而line38则是刚才我们设置的while(TRUE)行的断点:

②在Breakpoint窗口中,右键点击刚才设置的断点,选择Breakpointporperties:做如下设置:

此时,已经配置好了断点和与之关联的事件,进一步的结果在下面实验中显示。

6.图形功能简介:

下面我们使用CCS的图形功能检验上一节的结果。首先进行下面设置操作:点击菜单Tools->Graph->SingleTime:

在弹出的图形窗口做如下设置,然后点击OK:

此时我们打开了图形观察窗口:

7.观察图形观察窗口SingleTime的显示。

继续运行程序,程序会再次停在断点处,SingleTime里面的波形有变化,且控制台会有输出。

8.退出CCS,关闭实验设备。

 

五.实验结果

通过对工程文件“volume”的编译、执行后得到结果的图形显示如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沄边小卖部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值