实验一软件仿真

  • 格式:doc
  • 大小:3.20 MB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验软件仿真实验

一. 实验目的

1.熟悉CCS软件的操作环境和基本操作方法,主要是

●工程的创建、编译、链接。

●程序的加载和调试。

●寄存器、存储器和变量的观察。

2. 掌握断点的概念和使用。

3. 图形功能的使用。

二.实验设备

PC兼容机一台;操作系统为Windows2000 (或WindowsNT、Windows98、WindowsXP,以下假定操作系统为Windows2000);安装有CCS4.2软件。

D:\ C55xEx\ex1_ccs-basis下预给3个文件:volume.h,volume.c,volume.cmd。

三.实验原理

CCS是TI公司TMS320系列DSP的集成软件开发平台,它提供了一整套的程序编辑、编译、链接和调试环境,能将汇编语言或/和C语言程序编译链接、生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。

CCS软件版本目前已发展到4.2版,本实验采用CCS4.2软件。

CCS软件有两种基本模式,即Simulator和Emulator,Simulator为纯软件仿真模式,不需要DSP目标板和硬件仿真器的支持。本实验在Simulator模式下进行。

主要运用程序如下:

#include "volume.h"

int inp_buffer[BUF_SIZE]; // 输入缓冲区

int out_buffer[BUF_SIZE]; // 输出缓

// BUF_SIZE的定义见volume.h

int *input;

int *output;

int volume = 2;

int read_signals(int *input);

int write_buffer(int *input,int *output,int count);

int output_signals(int *output);

main()

{

int num = BUF_SIZE;

int i;

i=0;

input=inp_buffer;

output=out_buffer;

while ( TRUE )

{

read_signals(inp_buffer); // 加软件断点和探针

write_buffer(inp_buffer, out_buffer, num);

output_signals(output);

i++;

}

}

int read_signals(int *input)

{

return(TRUE);

}

int write_buffer(int *input,int *output,int count)

{

int i;

for ( i=0;i

output[i]=input[i]*volume; //将输入数据放大volume倍放到输出缓冲区

return(TRUE);

}

int output_signals(int *output)

{

return(TRUE);

}

四.实验步骤

1.实验准备

-启动Code Composer Studio :

双击桌面图标启动CCS。

Debug视图:

2.创建工程:

⑴创建新的工程文件:

选择菜单“File”中“New…”菜单项。

弹出下图,按编号顺序操作建立volume.pjt工程文件:

选中Use default location ,将把新建出现工程建立在默认位置,取消选中,则可以将新建工程建立其他目录下(CCS首次启动时设置默认路径为D:\C55xEx\,可通过执行菜单“File”中“Switch Workspace…”菜单项进行修改)。

⑵设置Code Composer Studio v4在软件仿真(Simulator)方式下运行,

右键单击项目名称或选择菜单“Target”中“New Target Configuration…”菜单项;

出现如下对话框:

在“New Target Configuration”对话框File name栏中xml。单击Finish,出现对话框:

在Connection栏中选中“Texas Instruments Simulator”,Device栏输入5509a,在列表中选中C55X Rev2.x CPU Functional Simulator,单击Save保存。

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

打开D:\C55xEx\ex1_ccs-basis\source文件夹,选择显示出来的文件“volum.c”

“volume.cmd”、“volume.h”,复制到volume工程所在文件夹中。

⑶编译链接工程:

-选择菜单“Project”中“Build Active Project”菜单项,或单击按钮;注意编译过程中CCS主窗口下部的“Problems”提示窗中显示编译信息,最后将给出错误和警告的统计数。

-执行菜单“Target”中“Debug Active Project”菜单项或者单击图标,系统

自动进入Debug模式。

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

⑴查看工程文件:

展开CCS主窗口左侧工程管理窗中的工程各分支,可以看到“volume”工程中包含“volume.h”、“volume.c”、“xml”和“volume.cmd”文件。

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

打开“volume.c”,找到“main()”主函数,将语句“input=inp_buffer;”最后的分号去掉,这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现发现错误的提示;双击红色错误提示,CCS自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上);重新编译;注意,重新编译时修改过的文件被CCS 自动保存。

4.基本调试功能:

⑴下载程序:执行菜单“Target”中“Load Program….”菜单项,在随后打开的对话

框中Program File栏选择D:\C55xEx\volume\Debug\volume.Out文件,单击OK,完成下载。

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

main()行上,单击鼠标右键选择“Toggle Breakpoint”(另外,双击此行左边的灰色控制条也可以设置或删除断点标记)。

⑶利用断点调试程序:选择“Debug”对话框按钮或按F8运行程序,程序会自

动停在main()函数断点处。

①执行按单步运行,“Debug”对话框按钮,或者快捷键F5执行read_signals()函数。

②再按F5,程序将转到read_signals()内部运行。

③执行到当前光标处,执行菜单“Target”中“Run to line”菜单项或者快捷键Ctrl+R 实现。

④再次执行到read_signals()一行,按F6执行程序,对比与F5执行的不同。

提示:在执行C语言的程序时,为了快速的运行到主函数调试自己的代码,可以执行菜单“Target”

中“Go to main”菜单项。

5.使用观察窗口:

⑴执行菜单“View”中“Watch”菜单项,打开观察窗口。

⑵在volume.c中,选中变量num,单击鼠标右键,选择“Add Watch Expression”,CCS

将把变量添加到观察窗口并显示选中的变量值。

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

6.断点的使用与文件输入/输出:

CCS4的断点允许用户在指定位置提取/注入数据。断点可以设置在程序的任何位置,并且可以进行的设置,当程序运行到断点时,与断点相关的事件将会被触发。事件结束后程序会继续执行。本程序中断点触发的事件是:将PC机存储的数据文件中的一段数据加载到DSP的缓冲区中。

⑴在程序行read_signals(input)上设置软件断点。

⑵按照下面所示步骤操作,把PC机硬盘上存储的数据文件sin2.dat读入内存变量inp_buffer。