实验 1 Code Composer Studio 入门实验1.docx

上传人:b****6 文档编号:6044824 上传时间:2023-01-03 格式:DOCX 页数:14 大小:1.89MB
下载 相关 举报
实验 1 Code Composer Studio 入门实验1.docx_第1页
第1页 / 共14页
实验 1 Code Composer Studio 入门实验1.docx_第2页
第2页 / 共14页
实验 1 Code Composer Studio 入门实验1.docx_第3页
第3页 / 共14页
实验 1 Code Composer Studio 入门实验1.docx_第4页
第4页 / 共14页
实验 1 Code Composer Studio 入门实验1.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

实验 1 Code Composer Studio 入门实验1.docx

《实验 1 Code Composer Studio 入门实验1.docx》由会员分享,可在线阅读,更多相关《实验 1 Code Composer Studio 入门实验1.docx(14页珍藏版)》请在冰豆网上搜索。

实验 1 Code Composer Studio 入门实验1.docx

实验1CodeComposerStudio入门实验1

实验1CodeComposerStudio入门实验

一.实验目的

1.熟悉CCS集成开发环境,掌握工程的生成方法;

2.熟悉ICETEK-DM6437-A实验环境;

3.掌握CCS集成开发环境的调试方法。

二.实验容

1.DSP源文件的建立;

2.DSP程序工程文件的建立;

3.学习使用CCS集成开发工具的调试工具。

三.实验设备

1.PC兼容机

2.WIN7操作系统

3.CodeComposerStudiov5

四.实验背景知识理

(一)、开发TMS3206437应用系统一般需要以下几个调试工具来完成

●软件集成开发环境(CodeComposerStudiov5):

完成系统的软件开发,进行软件和硬件仿真调试。

它也是硬件调试的辅助手段。

●开发系统(ICETEK-XDS100v2+):

实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。

●评估模块(ICETEK-DM6437-A等):

提供软件运行和调试的平台和用户系统开发的参照。

CCS主要完成系统的软件开发和调试。

它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译、生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。

用户系统的软件部分可以由CCS建立的工程文件进行管理。

CCS构成及接口

(二)、工程一般包含文件类型:

●源程序文件:

C语言或汇编语言文件(*.c或*.asm)

●头文件(*.h)

●命令文件(*.cmd)

●库文件(*.lib)

●中间文件(*.obj)

五.实验步骤

1.创建工程:

⑴创建新的工程文件:

选择菜单“View”的“ProjectExplorer”项,打开工程查看界面

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

在弹出的窗口中设置工程名称,以及工程的设备类型,此处新建工程名为

volume,Device型号为TMS320DM6437,点击Finish完成创建:

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

创建工程后,在ProjectExplorer窗口可以查看该工程的各个文件(若Project

Explorer窗口被隐藏,则可以用菜单的View->ProjectExplorer调出):

双击某个窗口的标题可以使该窗口最大化,此时如要查看别的窗口,可以再次双击标题。

例如双击main.c之后:

再次双击main.c即可回到刚才的界面。

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

在工程上右键选择AddFiles…

在弹出的窗口中找到C:

\ICETEK\ICETEK-DM6437-A\Lab0101-UseCCS目录:

按住“Ctrl”键,选择UseCCS.c、UseCCS.cmd、UseCCS.h和Sine.dat文件。

然后点击打开按钮

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

Copyfiles:

刚才选中的3个文件会被拷贝到workspace的刚才新建的工程文件夹中,即C:

\ICETEK\ICETEK-DM6437\volume目录下。

Linktofiles:

则文件不会被拷贝,以的形式把刚才的3个文件加入到工程中。

此时这3个文件还在原始的位置,即C:

\ICETEK\ICETEK-DM6437-A\Lab0101-UseCCS目录下。

此处选择Copyfiles,点击OK完成。

查看C:

\ICETEK\ICETEK-DM6437\volume目录,会发现文件已经被复制过来了:

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

在TargetConfigurations窗口中,找到我们已配置好的文件DM6437-Simulator.ccxml(若没有参见第二部分、第一章、四、3新建一个),点击右键->LinkFileToProject->vloume.

⑶进入仿真调试:

点击菜单栏下方的

图标,CCS开始自动编译,连接和下载程序。

最终的界面大致如下:

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

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

⑴查看工程文件:

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

可分为四类文件:

●.c源文件

●.cmd文件

●.h头文件

●.ccxml目标配置文件

⑵查看源文件:

双击工程管理窗中的“UseCCS.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_signals子程序中首先应有从外接AD设备获得音频数据的程序设计,但此例中由于未采用实际AD设备,就未写相应控制程序。

此例打算用读文件的方式获得数据,模拟代替实际的AD输入信号数据。

write_buffer子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然后放入输出缓冲区。

output_signals函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。

双击工程管理窗中的“UseCCS.h”文件,打开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。

UseCCS.cmd文件定义程序所放置的位置,此例中描述了ICETEK–VC6748-A评估板的存储器资源,指定了程序和数据在存中的位置。

比如:

它首先将ICETEK–VC6748-A评估板的可用存储器分为五个部分,每个区给定起始地址和长度(区域地址空间不允许重叠);然后指定经编译器编译后产生的各模块放到哪个区。

这些区域需要根据评估板硬件的具体情况来确定。

⑶编辑修改源文件及编译程序:

打开“UseCCS.c”,找到“main()”主函数,将语句“input=&inp_buffer[0];”最后的分号去掉,这样程序中就出现了一个语法错误;在工程上点击右键->BuildProject重新编译连接工程,可以发现编译信息窗口出现发现错误的提示,工程中出现错误的文件会出现红色的"x",

;双击打开出错的文件,可以看到该文件的最右侧有红色小方块的标示

,单击红色×处,CCS自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上);重新编译;注意,重新编译时修改过的文件被CCS自动保存。

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

"

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

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

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

可以看到,在Build一项中,分为C6000Compiler(编译器)和C6000Linker(器),我们点中C6000Linker下的BasicOptions,则在右边可以设置程序的堆栈大小。

3.基本调试功能:

⑴下载程序:

执行Run->Load->LoadProgram,在随后打开的对话框中选择刚刚建立的C:

\ICETEK\ICETEK-DM6437-A\Debug\UseCCS.out文件,手动下载刚才编译生成的最终文件UseCCS.out。

⑵设置软件调试断点:

在项目浏览窗口中,双击UseCCS.c激活这个文件,移动光标到while(TRUE)行上,在行号前双击鼠标左键即在此处设置了一个断点。

⑶利用断点调试程序:

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

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

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

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

4.使用观察窗口:

⑴在volume.c中,用鼠标双击一个变量(比如num),再单击鼠标右键,选择“AddWatch

Expressions”,在弹出的窗口中点击ok,CCS将打开Watch窗口并显示选中的变量。

⑵在观察窗口中双击变量,则可以在这个窗口中改变变量的值。

⑶把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,调出断点观察窗口,可以看到我们刚才设置的断点:

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

做如下设置:

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

6.图形功能简介:

使用CCS的图形功能检验上一节的结果。

首先进行下面设置操作:

点击菜单Tools->Graph->SingleTime:

在弹出的图形窗口做如下设置:

7.点击Debug窗口的

运行程序,然后程序会停在程序40行。

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

六.实验结果

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

七.问题与思考

基本任务:

1.创建工程文件的关键,及对构成文件的理解。

2.软件调试过程中的主要工具及针对的问题。

提高任务:

3.在实例代码的基础上,思考实现实时信号处理的方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1