多媒体通信实验第4章CCS应用实验.docx

上传人:b****8 文档编号:11115626 上传时间:2023-02-25 格式:DOCX 页数:69 大小:1.42MB
下载 相关 举报
多媒体通信实验第4章CCS应用实验.docx_第1页
第1页 / 共69页
多媒体通信实验第4章CCS应用实验.docx_第2页
第2页 / 共69页
多媒体通信实验第4章CCS应用实验.docx_第3页
第3页 / 共69页
多媒体通信实验第4章CCS应用实验.docx_第4页
第4页 / 共69页
多媒体通信实验第4章CCS应用实验.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

多媒体通信实验第4章CCS应用实验.docx

《多媒体通信实验第4章CCS应用实验.docx》由会员分享,可在线阅读,更多相关《多媒体通信实验第4章CCS应用实验.docx(69页珍藏版)》请在冰豆网上搜索。

多媒体通信实验第4章CCS应用实验.docx

多媒体通信实验第4章CCS应用实验

第4章CCS应用实验

 

目录

实验4.1CCS操作使用实验

实验4.2汇编语言DSP程序设计实验

实验4.3C语言DSP程序设计实验

实验4.4混合语言的DSP程序设计实验

实验4.5双精度数据加减运算汇编语言实验

实验4.6单精度小数乘法运算汇编语言实验

实验4.7浮点数乘除法运算实验

实验4.8库函数调用运算实验

 

实验4.1CCS操作使用实验

(一)实验目的要求

1.学习工程创建的方法

2.了解编译和调试功能

3.学习使用观察窗口

(二)主要仪器设备

1.计算机

2.CCS软件

3.TMS320C64xx实验箱一台

(三)实验原理和方法

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

1.软件集成开发环境(CCS):

完成程序编译、目标文件产生、下载,进行程序和硬件的联合仿真调试。

2.仿真器:

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

CCS通过工程来管理文件,一般包括以下几种文件:

1)源程序文件:

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

2)头文件(*.h)

3)命令文件(*.cmd)

4)库文件(*.lib,*.obj)

(四)实验内容与步骤

连接实验箱与PC机,打开电源给实验箱供电。

1.在C:

\CCStudio_v3.3\MyProjects下新建一个文件夹:

practice。

复制C:

\CCStudio_v3.3\tutorial\sim64xx\consultant下的所有文件到practice文件夹下。

2、点击setupcodecomposerstudiov3.3,运行CCSSetup,

设置CCS在软件仿真(simulator)方式下运行。

保存配置。

3.点击CodeComposerStudio,启动CCS。

4.创建工程

选择菜单“Project”的“New…”项,建立practice.pjt工程文件。

5.向工程添加文件

添加main.c,doloop.c,lnk.cmd到工程。

查看源程序:

Doloop.c,main.c。

打开:

lnk.cmd文件,编辑如下内容保存:

-stack0x400

-heap0x400

MEMORY

{

ISRAM:

origin=0x400,len=0x1000000

}

SECTIONS

{

.vectors>ISRAM

.text>ISRAM

.data>ISRAM

.bss>ISRAM

.cinit>ISRAM

.const>ISRAM

.far>ISRAM

.stack>ISRAM

.cio>ISRAM

.sysmem>ISRAM

}

或者:

/****************************************************************************/

/*c64xx_cov_lnk.cmd*/

/*Copyright(c)1996-2002TexasInstrumentsIncorporated*/

/****************************************************************************/

-c

-heap5000

-stack5000

/*MemoryMap0*/

MEMORY

{

ON_CHIP:

origin=00000000hlength=00100000h

EMIFA_CE0:

origin=80000000hlength=10000000h

EMIFA_CE1:

origin=90000000hlength=10000000h

}

SECTIONS

{

.text>ON_CHIP

.stack>ON_CHIP

.bss>ON_CHIP

.cinit>EMIFA_CE1

.cio>EMIFA_CE0

.const>ON_CHIP

.data>ON_CHIP

.switch>ON_CHIP

.sysmem>ON_CHIP

.far>EMIFA_CE0

}

6.工程中添加库文件

添加C:

\CCStudio_v3.3\C6000\cgtools\lib目录下的rts6400.lib

7.查看源程序文件

点击工程列表下文件,可以打开源程序文件main.c查看代码

8.编译、创建目标文件

点击菜单project->compilefile,可以对文件进行编译

再点击菜单Project->Build,建立目标文件

成功建立的文件应该是错误和警告都为0

9.调用目标文件

1)连接仿真器与目标板

点击:

Debug->connect,

连接成功后,CCS左下角有提示。

2)点击File->LoadProgram,选择\practice\Debug\practice.out

10.调试

1)gotomain

2)设置断点

在需要设置断点的行前双击鼠标,则在行前出现红色的原点,表示设置了断点;若在已经设置了断点的行前双击鼠标,则可以取消该断点。

3)单步运行

用F11

4)观察窗口

点击view->watchwindow,则打开观察窗口

(五)实验报告要求

1.写出实验报告,包括:

目的和要求、仪器设备

2.写出实验步骤及内容

实验4.2汇编语言DSP程序设计实验

(一)实验目的和要求:

1.学习用汇编语言编制程序;

2.了解在CCS下开发TMS320C64x汇编语言程序的步骤;

3.掌握汇编语言数据搬移、存储的方法;

4.学习在CCS环境中调试汇编代码

(二)主要仪器设备:

1.计算机

2.CCS软件

3.TMS320C64xx实验箱一台

(三)实验原理与方法

1.汇编语言程序在执行时直接从用户指定入口开始。

2.由于CCS的代码链接器默认支持C语言,在编制汇编语言程序时,需要设置链接参数,选择非自动初始化,注明汇编程序的入口地址。

(四)实验步骤与内容

1.运行CCSSetup,设置CCS在模拟仿真(Simulator)方式下运行。

选择模拟仿真调DM642DeviceCycleAccurateSimulator(Endianness选little)。

2.启动CCS

3.创建工程

4.设置工程编译选项

选择CCS菜单project->BuildOptions,点击Linker页,设置AutoinitModel为:

NoAutoinitialization(这点是与C语言程序设计不同)

注意:

若省略这一步,也不影响程序建立,只不过会出现警告:

warning:

entrypointsymbol_c_int00undefined

5.输入源程序

1)输入汇编源程序

选择File->New->SourceFile或使用工具条的快捷按钮,进入文件编辑窗口。

录入汇编源程序:

;**********************************

;输入数据存放在:

x,y

;本例程完成运算:

x+y

;结果存放:

z

;其中:

x,y,z都占32位

;*********************************

.bssx,4;排版要空一格,下同

.bssy,4

.bssz,4

;.defstart

;.defx,y,z

.text

start:

;排版要顶格

mvklx,A0;立即寻址,将变量x的值放到寄存器A0

mvkhx,A0;立即寻址,将变量x的值放到寄存器A0

mvkly,B0;立即寻址,将变量y的值放到寄存器B0

mvkhy,B0;立即寻址,将变量y的值放到寄存器B0

mvklz,B2;立即寻址,将变量z的值放到寄存器B2

mvkhz,B2;立即寻址,将变量z的值放到寄存器B2

mvkl0x010a0f2a,A4;给A4低16位赋值

mvkh0x010a0f2a,A4;给A4高16位赋值

mvkl0x1ab31211,B4;给B4低16位赋值

mvkh0x1ab31211,B4;给B4高16位赋值

stwA4,*A0;A4存入A0所指地址单元

nop5

stwB4,*B0;B4存入B0所指地址单元

nop5

ldw*A0,B1;将A0寻址单元的值读入B1

nop5;避免流水线冲突

ldw*B0,A1;将B0寻址单元的值读入A1

nop5

addA1,B1,A2;加法运算:

A1+B1-->A2

stwA2,*B2;将A2的值存入B2所指地址单元

b$;一直在这里跳转,注意:

b后有一个空格

注意:

汇编语句前需要留出空格,标号顶格输入,否则编译有错误提示。

保存源程序到工程目录下,保存文件为:

myasm.asm

2)输入链接命令文件

点击“File/New/SourceFile”或使用工具条的快捷按钮,进入文件编辑窗口。

输入链接命令文件内容:

-stack400

-heap400

MEMORY

{

ISRAM:

origin=0x0,len=0x1000000

}

SECTIONS

{

.vectors>ISRAM

.text>ISRAM

.bss>ISRAM

.cinit>ISRAM

.const>ISRAM

.far>ISRAM

.stack>ISRAM

.cio>ISRAM

.sysmem>ISRAM

}

保存源程序到工程目录下,命名为myasm.cmd。

6.将上述编辑的源程序myasm.asm和链接命令文件myasm.cmd加入工程myasm.pjt。

7.编译源文件、建立目标文件(.out)

8.调用编程可执行程序

选择File->LoadProgram,选择\myasm\debug\myasm.out,点击Debug->Restart后PC此时指向0000000000000000地址。

9.调试

用菜单debug->StepInto或F11可以单步运行。

10.观察

开启CPU寄存器观察窗口:

单击菜单ViewžRegistersžcore。

使用单步运行,查看相应寄存器的值的变化。

还可开启Watchwindow,Memory窗口,进行变量、存储空间的观察

11.退出CCS

(五)实验报告要求

1.写出实验报告,包括:

目的和要求、仪器设备

2.写出实验步骤及内容

实验4.3C语言DSP程序设计实验

(一)实验目的和要求:

1.掌握DSP芯片的C语言程序设计方法;

2.掌握在CCS环境下用C语言开发的步骤;

3.学会调试CCS下的C语言代码

(二)主要仪器设备:

1.计算机

2.CCS软件

3.TMS320C64xx实验箱一台

(三)实验原理与方法

1.标准C语言程序

CCS支持使用标准C语言开发DSP应用程序。

C源程序文件名的后缀应为.c。

CCS在编译标准C语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP的可执行代码。

最后生成的是COFF格式的可下载到DSP中运行的文件,其文件名后缀为.out。

由于使用C语言编制程序,其中调用的标准C的库函数由专门的库提供,在编译链接时编译系统还负责构建C运行环境。

所以用户工程中需要注明使用C的支持库。

2.命令文件的作用

命令文件(文件名后缀为cmd)为链接程序提供程序和数据在具体DSP硬件中的位置分配信息。

通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP所管理的内存中。

命令文件也为链接程序提供了DSP外扩存储器的描述。

在程序中使用CMD文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可用的。

3.内存映射(map)文件的作用

为了更精确地使用ROM空间,我们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了解DSP代码的确切信息。

当需要更改程序和数据的大小和位置时,就要适当修改cmd文件和源程序,再重新生成map文件来观察结果。

另外,通过观察map

文件,可以掌握DSP存储器的使用和利用情况,以便进行存储器方面的优化工作。

(四)实验步骤与内容

1.准备

将DSP实验设备与硬件仿真器相连接,连接电源线,打开电源开关。

2.设置CCS在硬件仿真(Emulator)方式下运行,选择实际的仿真器。

也可设置在模拟仿真(Simulator)方式下工作。

3.启动CCS环境

4.创建工程。

选择菜单Project->New,创建ctest.pjt工程

5.建立源文件

1)建立C语言源程序文件。

选择FILE->New->Source,输入下列C代码,保存到文件ctest.c。

intsel_max(inta,intb);

voidmain()

{

intx;

inty;

intz;

x=21;

y=98;

while

(1)

{

z=sel_max(x,y);//函数调用

}

}

intsel_max(inta,intb)

{

return((a>=b)?

a:

b);

}

2)建立链接命令文件

点击“File/New/SourceFile”或使用工具条的快捷按钮,打开编辑窗,建立ctest.cmd文件,内容如下:

-stack400

-heap400

MEMORY

{

ISRAM:

origin=0x0,len=0x1000000

}

SECTIONS

{

.vectors>ISRAM

.text>ISRAM

.bss>ISRAM

.cinit>ISRAM

.const>ISRAM

.far>ISRAM

.stack>ISRAM

.cio>ISRAM

.sysmem>ISRAM

}

6.工程添加文件

点击菜单Project->AddFilestoproject,分别加入ctest.c,ctest.cmd文件,再向工程添加C:

\CCStudio_v3.3\C6000\cgtools\lib下的文件rts6400.lib(这点与汇编程序设计不同)(注意:

若不添加,则链接时会出现警告:

warning:

entrypointsymbol_c_int00undefined)

7.编译、建立目标文件

产生ctest.out

8.调用编程可执行程序

1)连接仿真器与目标板

点击:

Debug->connect,

连接成功后,CCS左下角有提示。

2)选择File->LoadProgram,选择\ctest\debug\ctest.out。

9.调试

1)执行至C语言主程序入口

点击Debug->gomain。

2)设置断点

在需要设置断点的行前双击鼠标,则在行前出现红色的原点,表示设置了断点;若在已经设置了断点的行前双击鼠标,则可以取消该断点。

3)单步运行

用菜单debug->StepInto或F11可以单步运行。

4)全速运行

用菜单debug->Run或F5可以全速运行。

10.观察

开启CPU寄存器观察窗口:

单击菜单ViewžRegistersžcore。

使用单步运行,查看相应寄存器的值的变化。

还可开启Watchwindow,Memory窗口,进行变量、存储空间的观察

11.关闭工程

点击Project->Close。

12.退出CCS

(五)实验报告要求

1.写出实验报告,包括:

目的和要求、仪器设备

2.写出实验步骤及内容

实验4.4混合语言的DSP程序设计实验

(一)实验目的和要求:

1.掌握产生离散信号的方法

2.掌握离散信号的图形表示

(二)主要仪器设备:

1.计算机

2.CCS软件

3.TMS320C64xx实验箱一台

(三)实验原理与方法

C语言易于开发和维护,可读性强、利于理解,在编制、修改、实现算法方面比用汇编语言开发容易。

可移植性强。

但由C语言开发的代码量大、程序效率较低、优化代码存在一定困难。

汇编语言控制系统硬件的能力强于C语言,设计出来的程序更加贴近硬件特性,往往能将硬件效能发挥到极致,且汇编语言代码精练、效率高、代码短、不容易产生冗余。

但汇编语言设计的程序可读性差,不利于复杂算法的开发和实现,可移植性差,容易产生流水线冲突。

大部分代码采用C语言设计,少部分要求高效率的代码采用汇编程序设计。

这样,就要求混合语言的编程,即在一个工程中同时含有汇编语言程序和C语言程序。

混合编程有两种方式:

一种方式是在C语言程序中采用内嵌入汇编语句,例如asm(“MOVT1,*SP(#1)”),另一种方式是一种语言调用另一种语言设计的子程序。

在汇编程序中使用其他C语言模块中定义的变量或函数名称时,需要在引用的名称前加一下划线。

如:

C中定义的变量为x,在汇编中引用时要用_x。

函数(父函数)在调用另一个函数(子函数)的时候,如果有参数需要传递,前10个参数放入寄存器A4、B4、A6、B6、A8、B8、A10、B10、A12、B12,如果是长整型、双精度浮点型或长精度浮点型,则放入寄存器对A5:

A4,B5:

B4,A7:

A6等。

如果被调函数返回整数、指针或单精度浮点型,将返回值放到寄存器A4中,如果返回双精度浮点型或长精度浮点型,则将返回值放在A5:

A4寄存器对中。

(四)实验步骤与内容

1.准备

将DSP实验设备与硬件仿真器相连接,连接电源线,打开电源开关。

2.设置CCS在硬件仿真(Emulator)方式下运行,选择实际的仿真器。

也可设置在模拟仿真(Simulator)方式下工作。

3.启动CCS环境

4.创建工程。

选择菜单Project->New,创建casm.pjt工程

5.建立源文件

1)建立C语言源程序文件。

选择FILE->New->Source,输入下列C代码,保存到文件\myprojects\casm\main.c。

intadd(inta,intb);

voidmain()

{

intx;

inty;

intz;

x=2;

y=3;

while

(1)

{

z=add(x,y);//函数调用

}

}

2)建立汇编语言源程序文件。

选择FILE->New->Source,输入下列C代码,保存到文件\myprojects\casm\add.asm。

内容如下:

.global_add

_add:

ADD.D1XA4,B4,A4

B.S2B3

.end

注意:

汇编语句前需要留出空格,标号顶格输入,否则编译有错误提示。

3)建立链接命令文件

点击“File/New/SourceFile”或使用工具条的快捷按钮,打开编辑窗,建立\myprojects\casm\casm.cmd文件,内容如下:

-stack400

-heap400

MEMORY

{

ISRAM:

origin=0x0,len=0x1000000

}

SECTIONS

{

.vectors>ISRAM

.text>ISRAM

.bss>ISRAM

.cinit>ISRAM

.const>ISRAM

.far>ISRAM

.stack>ISRAM

.cio>ISRAM

.sysmem>ISRAM

}

7.工程添加文件

点击菜单Project->AddFilestoproject,分别加入main.c,add.asm和casm.cmd文件,再向工程添加C:

\CCStudio_v3.3\C6000\cgtools\lib下的文件rts6400.lib。

 

8.编译、建立目标文件

产生casm.out

9.调用编程可执行程序

1)连接仿真器与目标板

点击:

Debug->connect,

连接成功后,CCS左下角有提示。

2)选择File->LoadProgram,选择\casm\debug\casm.out。

10.调试

1)执行至C语言主程序入口

点击Debug->gomain。

2)设置断点

在需要设置断点的行前双击鼠标,则在行前出现红色的原点,表示设置了断点;若在已经设置了断点的行前双击鼠标,则可以取消该断点。

3)单步运行

用菜单debug->StepInto或F11可以单步运行。

4)全速运行

用菜单debug->Run或F5可以全速运行。

11.观察

开启CPU寄存器观察窗口:

单击菜单ViewžRegistersžcore。

使用单步运行,查看相应寄存器的值的变化。

还可开启Watchwindow,Memory窗口,进行变量、存储空间的观察

12.关闭工程

点击Project->Close。

13.退出CCS

(五)实验报告要求

1.写出实验报告,包括:

目的和要求、仪器设备

2.写出实验步骤及内容

实验4.5双精度数据加减运算汇编语言实验

(一)实验目的和要求:

1.学会双精度的汇编语言表示

2.学会使用汇编编程来实现双精度数据的加减运算

3.进一步掌握CCS调试汇编程序的技巧

(二)主要仪器设备:

1.计算机

2.CCS软件

3.TMS320C64xx实验箱一台

(三)实验原理与方法

双精度数据是采用两个字保存一个数据,将数据分成高位和低位。

C6x的数据宽度为32位,所以双精度的数据位数为64位,使用两个寄存器保存该64位的数据。

实验程序使用A2保存加数的低32位,B2保存加数的高32位,A4保存被加数的低32位,B4保存被加数的高32位,结果的低32位存储在A0和*A8地址中,高32位存储在B0和*B8地址中,此程序可以直接被C语言调用。

(四)实验步骤与内容

1.准备

关闭DSP实验设备的电源开关。

2.设置CCS在模拟仿真(Simulator)方式下工作。

3.启动CCS环境

4.创建工程。

选择菜单Project->New,创建dadder64.pjt工程

5.设置工程编译选项

选择CCS菜单project->BuildOptions,点击Linker页,设置AutoinitModel为:

NoAutoinitialization

6.建立源文件

1)建立汇编语言源程序文件。

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

当前位置:首页 > 表格模板 > 合同协议

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

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