当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

山东大学:《DSP原理与应用》课程教学资源(本科实验教材)DSP实验指导书

资源类别:文库,文档格式:PDF,文档页数:72,文件大小:939.05KB,团购合买
第一部分 软件仿真(Simulator)实验 实验一 集成开发环境 CCS 应用基础 实验二 寻址方式 实验三 定点定标运算 实验四 浮点运算 实验五 汇编程序的优化 实验六 C 语言编程与优化(乘法—累加运算程序设计) 实验七 混合编程实验 实验八 FIR 滤波器的实现 实验九 基于 DSP 的数字图像处理算法的实现 第二部分 硬件(Emulator)实验 实验十 片内定时器实验 实验十一 数字 I/O 口的应用 实验十二 同步串口与 A/D 转换 实验十三 基于 DSP 的数字音频处理系统 第三部分 部分实验程序参考清单 实验一参考程序 实验二参考程序 实验三参考程序 实验四参考程序 实验五参考程序 第四部分 参考资料 一、C54xCPU 的存储器映像寄存器及其地址 二、C54xCPU 的状态和控制寄存器 ST0、ST1 三、TMS320C5416DSP 的存储区映像 四、C54xCPU 的处理器模式状态寄存器 PMST 五、C54x 的片内定时器控制寄存器 TCR 六、TMS320C5416 的中断矢量表 参考文献
点击下载完整版文档(PDF)

DSP原理与应用 实验指导书 二零一零年四月

二零一零年四月 DSP 原理与应用 实验指导书

DSP本科实验教材 目录 第一部分软件仿真(Simulator)实验 实验一集成开发环境CCS应用基础 实验二 寻址方式 实验三 定点定标运算 实验四 浮点运算 实验五汇编程序的优化 实验六C语言编程与优化(乘法一累加运算程序设计) 实验七混合编程实验 实验八FIR滤波器的实现 实验九 基于DSP的数字图像处理算法的实现 第二部分硬件(Emulator)实验 实验十片内定时器实验 实验十一数字/O口的应用 实验十二同步串口与AD转换 实验十三基于DSP的数字音频处理系统 第三部分部分实验程序参考清单 实验一参考程序 实验二参考程序 实验三参考程序 实验四参考程序 实验五参考程序 第四部分参考资料 一、C54xCPU的存储器映像寄存器及其地址 二、C54xCPU的状态和控制寄存器ST0、ST1 三、TMS320C5416DSP的存储区映像 四、C54xCPU的处理器模式状态寄存器PMST 五、C54x的片内定时器控制寄存器TCR 六、TMS320C5416的中断矢量表 参考文献

DSP 本科实验教材 1 目录 第一部分 软件仿真(Simulator)实验 实验一 集成开发环境 CCS 应用基础 实验二 寻址方式 实验三 定点定标运算 实验四 浮点运算 实验五 汇编程序的优化 实验六 C 语言编程与优化(乘法—累加运算程序设计) 实验七 混合编程实验 实验八 FIR 滤波器的实现 实验九 基于 DSP 的数字图像处理算法的实现 第二部分 硬件(Emulator)实验 实验十 片内定时器实验 实验十一 数字 I/O 口的应用 实验十二 同步串口与 A/D 转换 实验十三 基于 DSP 的数字音频处理系统 第三部分 部分实验程序参考清单 实验一参考程序 实验二参考程序 实验三参考程序 实验四参考程序 实验五参考程序 第四部分 参考资料 一、C54xCPU 的存储器映像寄存器及其地址 二、C54xCPU 的状态和控制寄存器 ST0、ST1 三、TMS320C5416DSP 的存储区映像 四、C54xCPU 的处理器模式状态寄存器 PMST 五、C54x 的片内定时器控制寄存器 TCR 六、TMS320C5416 的中断矢量表 参考文献

DSP本科实验教材 第一部分 软件仿真(Simulator)实验 实验一集成开发环境CCS应用基础 一、目的 1.通过创建一个简单的应用工程,初步熟悉Code Composer Studio(简称CCS)的集成开 发环境(DE)及其工具的使用。 2.掌握汇编语言源程序的基本框架和编写方法,了解CCS的工程结构以及编译、汇编、连 接、运行和调试的基本过程。 3.了解STO、ST1的控制位对计算过程的控制以及计算结果对状态位的影响。 二、内容 1.学习使用CCS集成开发环境(DE)的各种工具。 包括下列内容: (1)编辑、汇编和连接。 (2)查看和修改存储器映像寄存器的内容。 (3)查看和修改ST0、ST1及PMST的有关位。 (4)查看和修改程序存储器和数据存储器的内容。 (5)断点操作。 (6)运行程序(单步运行、连续运行和断点运行)。 2.观察并理解COFF段结构的划分及存储空间的分配。 3.观察控制位SXM、OVM、CI6及FRCT置1或清0对执行结果的影响。 4.观察标志位TC、C、OVA及OVB的变化情况。 三、实验步骤 1.准备工作 在逻辑盘D:1下,建立以自己学号命名的子目录,(如:DDXK031学号)以后自己的所有 实验程序都在此子目录下运行。(说明:CCS在安装时,曾在C区建立了i文件夹,但由于实 验室PC机的C区都己保护,所以学生的目录及文件不能建在c:\ti\myprojects下)。 将实验一的文件夹拷贝至自己的子目录内。在PC机的CCS软件仿真环境(Simulator)下,选 择TMS320C5416软件仿真模式,并在此模式下进行实验。 2.预习实验程序 实验一提供了三个有关程序:汇编主程序testl.asm、中断矢量处理程序vectors.asm及命令 文件testl.cmd(参见第三部分,实验一参考程序)。 (1)读懂主程序testl.asm,分析程序中各操作所提供的原始数据、中间过程和最终结果。 在实验前先填写主程序注释中的括号部分,然后通过实验验证自己的分析正确否。 (2)通过预习程序(特别是预习testl.cmd),了解该工程中COFF格式段的划分及存储器 的分配情况。在实验前先填写表1-1。 表1-l工程test1中的段及其定位

DSP 本科实验教材 2 第一部分 软件仿真(Simulator)实验 实验一 集成开发环境 CCS 应用基础 一、目的 1. 通过创建一个简单的应用工程,初步熟悉 Code Composer Studio(简称 CCS)的集成开 发环境(IDE)及其工具的使用。 2. 掌握汇编语言源程序的基本框架和编写方法,了解 CCS 的工程结构以及编译、汇编、连 接、运行和调试的基本过程。 3. 了解 ST0、ST1 的控制位对计算过程的控制以及计算结果对状态位的影响。 二、内容 1. 学习使用 CCS 集成开发环境(IDE)的各种工具。 包括下列内容: (1)编辑、汇编和连接。 (2)查看和修改存储器映像寄存器的内容。 (3)查看和修改 ST0、ST1 及 PMST 的有关位。 (4)查看和修改程序存储器和数据存储器的内容。 (5)断点操作。 (6)运行程序(单步运行、连续运行和断点运行)。 2. 观察并理解 COFF 段结构的划分及存储空间的分配。 3. 观察控制位 SXM、OVM、C16 及 FRCT 置 1 或清 0 对执行结果的影响。 4. 观察标志位 TC、C、OVA 及 OVB 的变化情况。 三、实验步骤 1.准备工作 在逻辑盘 D:\下,建立以自己学号命名的子目录,(如:D:\DXK03\学号)以后自己的所有 实验程序都在此子目录下运行。(说明:CCS 在安装时,曾在 C 区建立了 ti 文件夹,但由于实 验室 PC 机的 C 区都已保护,所以学生的目录及文件不能建在 c:\ti\myprojects 下)。 将实验一的文件夹拷贝至自己的子目录内。在 PC 机的 CCS 软件仿真环境(Simulator)下,选 择 TMS320C5416 软件仿真模式,并在此模式下进行实验。 2.预习实验程序 实验一提供了三个有关程序:汇编主程序 test1.asm、中断矢量处理程序 vectors.asm 及命令 文件 test1.cmd(参见第三部分,实验一参考程序)。 (1)读懂主程序 test1.asm,分析程序中各操作所提供的原始数据、中间过程和最终结果。 在实验前先填写主程序注释中的括号部分,然后通过实验验证自己的分析正确否。 (2)通过预习程序(特别是预习 test1.cmd),了解该工程中 COFF 格式段的划分及存储器 的分配情况。在实验前先填写表 1-1。 表 1-1 工程 test1 中的段及其定位

DSP本科实验教材 段名 己/未初始化段 所属PAGE 起始地址 存储区长度 (3)在程序vectors.asm中有从复位中断(RESET)到主程序入口c into0的一些汇编指令。 通过阅读它们,了解在CCS软件仿真环境(Simulator)下,怎样编写中断矢量入口的处理程序。 3.运行CCS setup,.选择“C5416 Device Simulator'”,如图1-l所示。单击“Import”按钮, 即可将其添加到系统配置(System Configuration)中,单击“Save and Quit”按钮,就可以启动 CCS在C5416软件仿真环境下工作。 Code Composer Studio Setup a▣☒ E1etY1钟He1p System Configuration Available Board/Simulator Types 曰可ly Systen :C54xx Sinulator :C5416 Device Simulator C54xx XDS510 Emulator Import a Configuration File CPU C54xxXⅫS560 Import Configuration ?☒ C5502 Device C5502 Funetio Available Configurations :C5510 Device C5410XTs510卫nulator :C55xx Functi Import C55xx Sinulat C5410A5s580Ea :C55xx XDS510 Clear :C55xx XDS560 C5416 DSK via XDS510 Emulator Filters Heterogeneous Fanily Platform Endianness 11 11 11 Configuration Description Simulates the TMS320C5416 DSP.Supports eyele accurate CPU,internal,external and I0 memory, Timer0,MeBSPO,HeBSP1,MeBSP2,DMA,HPI16.Doesn't mrtended data and Ipgeou Show this dialog next time Setup is advanced >Save and Quit Clgse Help Drag a device driver to the left to add a board to the system 图1-1CCS安装界面 4.创建一个新的工程项目 启动CCS。从CCS的主菜单“Project'”下选择子菜单“New”,将出现“Project Creation” 对话框,如图1-2所示。在对话框的“Project Name"”处输入“test1”,在“Location”处用浏览 方式选入在第l步中建立的文件夹,在“Project Type”处选择“Executable(.out)”类型,在“Target” 中选择CCS所配置的目标DSP类型,最后单击“Finish”完成。 5.向工程添加各类型文件 (I)在主菜单中单击“Project'”,选择“Add Files to Project”命令,然后在弹出的添加文 件对话框中找到文件vectors..asm及testl.asm,单击“Open”。(也可在工程图标处单击鼠标右键, 然后在快捷菜单中选择“Add Files to Project'”,或将文件拖入工程视图窗口的文件夹中)。 (2)在主菜单中单击“Project'”,选择“Add Files to Project”命令,使用上述同样的方法 选择链接命令文件“testl.cmd”,单击Open

DSP 本科实验教材 3 段名 已/未初始化段 所属 PAGE 起始地址 存储区长度 (3)在程序 vectors.asm 中有从复位中断(RESET)到主程序入口 c_int00 的一些汇编指令。 通过阅读它们,了解在 CCS 软件仿真环境(Simulator)下,怎样编写中断矢量入口的处理程序。 3.运行 CCS setup,选择“C5416 Device Simulator”,如图 1-1 所示。单击“Import”按钮, 即可将其添加到系统配置(System Configuration)中,单击“Save and Quit”按钮,就可以启动 CCS 在 C5416 软件仿真环境下工作。 图 1-1 CCS 安装界面 4.创建一个新的工程项目 启动 CCS。从 CCS 的主菜单“Project”下选择子菜单“New”,将出现“Project Creation” 对话框,如图 1-2 所示。在对话框的“Project Name”处输入“test1”,在“Location”处用浏览 方式选入在第 1 步中建立的文件夹,在“Project Type”处选择“Executable(.out)”类型,在“Target” 中选择 CCS 所配置的目标 DSP 类型,最后单击“Finish”完成。 5.向工程添加各类型文件 (1)在主菜单中单击“Project”,选择“Add Files to Project”命令,然后在弹出的添加文 件对话框中找到文件 vectors.asm 及 test1.asm,单击“Open”。(也可在工程图标处单击鼠标右键, 然后在快捷菜单中选择“Add Files to Project”,或将文件拖入工程视图窗口的文件夹中)。 (2)在主菜单中单击“Project”,选择“Add Files to Project”命令,使用上述同样的方法 选择链接命令文件“test1.cmd”,单击 Open

DSP本科实验教材 Project Creation ☒ Project testl Location: D:DXK031200612345\test1V Project Executable(out) Target TMS320C54XX 〈上一步⑧) 完成 取消 帮助 图1-2“Project Creation'”对话框 (注:在一个工程项目中,通常包括源程序、库文件、链接命令文件和头文件等。本工程 项目中没有库文件和头文件,因此不需添加它们)。 实验所需的3个文件到此添加完毕。在工程浏览窗中,单击工程名左边的“+”标记展开工 程文件列表,如图1-3所示。在工程浏览窗里的某个文件名上双击鼠标,即可在CCS的编辑窗 中看到该文件的源代码。 度Pi1es + 白GEL files 白白Projects 百2test1.pjt①ebn Eile Edit红e Project卫ebug Pro ☐Dependent Proje 星ew ☐DSP/BIOS Confie Open... Ctrl+0 ▣Generated Files Close ▣Include Save CtrlS Libraries Save As... Y 白白Source Save All 由test1.asm Load卫roam 由vectors.asm Reload Program 由testl.cmd Load Symbols Reload Symbols Unload Symbols 图1-4装载程序 图13展开工程文件列表 6.建造和装载程序 在主菜单中单击“Project”",选择“RebuildAl”命令或者单击工具条图标茴,即可自动完 成编译、汇编和连接这三个步骤,并在底部窗口中同步的显示汇编连接信息。连接完毕,将生 成一个“testl.out”文件,默认存放在目录“test1”下的“debug”目录内。在修改文件后,选 择“ReBuildAl”命令,或者单击工具条图标茴,CCS将重新对工程中的所有文件进行编译、 汇编和连接。 建造完毕后,在主菜单中单击“File”,选择“Load Program”如图l-4所示。在对话框中选

DSP 本科实验教材 4 图 1-2 “Project Creation”对话框 (注:在一个工程项目中,通常包括源程序、库文件、链接命令文件和头文件等。本工程 项目中没有库文件和头文件,因此不需添加它们)。 实验所需的 3 个文件到此添加完毕。在工程浏览窗中,单击工程名左边的“+”标记展开工 程文件列表,如图 1-3 所示。在工程浏览窗里的某个文件名上双击鼠标,即可在 CCS 的编辑窗 中看到该文件的源代码。 6.建造和装载程序 在主菜单中单击“Project”,选择“Rebuild All”命令或者单击工具条图标 ,即可自动完 成编译、汇编和连接这三个步骤,并在底部窗口中同步的显示汇编连接信息。连接完毕,将生 成一个“test1.out”文件,默认存放在目录“test1”下的“debug”目录内。在修改文件后,选 择“ReBuild All”命令,或者单击工具条图标 ,CCS 将重新对工程中的所有文件进行编译、 汇编和连接。 建造完毕后,在主菜单中单击“File”,选择“Load Program”如图 1-4 所示。在对话框中选 图 1-3 展开工程文件列表 图 1-4 装载程序

DSP本科实验教材 择文件testl.out,单击“Open”打开。这样,CCS就将可执行代码载入到目标DSP中。 选择主菜单“View”下的“Mixed Source/ASM”,将同时看到汇编源代码和相应的机器代 码,如图1-5所示。如果要查找某条汇编指令的功能,只需将光标放在该汇编指令的前面,并 按F1键,CCS就会搜索并显示该条指令的帮助信息,这在调试中是很有用的。 test1.pjt Dabuc 习$谥曲孟西g% 网如6面盟围四回正 )i14m 白GLfi1es .text eint00: Preisets 合testl.pjt0eba6) 5七曲 stack+10h,SP :设置堆梭指针 0000:E0007718 g门 90h,18h dent Project 三七留 #0x0000,SWWSR :所有存储器未加软件延迟 0000:E0027728 STM 0h,28h Libraries #0x70,AR2 D000:E004 STM 70h,12h #Oxff80,*AR2 扫431.a3 ST 由vectors. #ff80h,“AR 图testl.cmd :观察控制位的作用 :当S1=0时,进行无符号数的加载 rsbx SXM 0000:E008F6B8 RSBX SXM nop 0000:E009F495 NOP ld *AR2.A :(a)-( 0000:E00A1082 ID WAR2,A 4= :当S0-1时,进行有符号数的如载 ssbx 0000:E00BF7B8 SSBX SXM a0B0:E00c595 NOP :(A)=( LD *AR2.A 巡察粹的对出不进行处理 rsbx 图15观察指令代码 7.运行和调试 选择主菜单“Debug”下的“Run”或单击工具按钮公 可使程序全速运行。通过“Debug” 下的“Ha”或单击工具按钮公可停止程序的运行.。 设置断点的方法是:把光标移到某一行,按F9键或单击工具按钮心, 在这一行前面会出 现一个红点,表示在该行加了一个断点。 8.寄存器的察看和修改 选择主菜单“View”下的“Registers一一>CPU Registers”或点击CCS操作界面左侧的调 试工具栏國图标,就会在CCS工作区底部打开一个CPU寄存器窗口,其中列出了所有CPU 寄存器的值,并列出了ST0、ST1和PMST中有特殊意义的位和位域,如图1-6所示。要修改 某个寄存器值,只要双击该寄存器名称,既可出现“Edit Register'”对话框,只要在“Value”文 本框中输入新的值,单击“Done”按纽,即修改成功。 PC=0000E050 TRN 0000 BRAF0 INIM-1 SP=0090 XPC 0 ST0=1600BRC=0000 IMR=0000 AR0=0000 007FFFFFFF ST1 2BC0 RSA=0000AR1=0000 IFR=0088 0VA=1 B-FFFFFF8000 PMST FFEO REA 0000 AR2 0070 IPTR FF80 0VB■1 T=0001 DP=0000TC=1 AR3=0000 0WM=1 图1-6CPU寄存器窗口 选择主菜单“View”下的“Memory”或点击CCS操作界面左侧的调试工具栏匡图标, 5

DSP 本科实验教材 5 择文件 test1.out,单击“Open”打开。这样,CCS 就将可执行代码载入到目标 DSP 中。 选择主菜单“View”下的“Mixed Source/ASM”,将同时看到汇编源代码和相应的机器代 码,如图 1-5 所示。如果要查找某条汇编指令的功能,只需将光标放在该汇编指令的前面,并 按 F1 键,CCS 就会搜索并显示该条指令的帮助信息,这在调试中是很有用的。 图 1-5 观察指令代码 7.运行和调试 选择主菜单“Debug”下的“Run”或单击工具按钮 ,可使程序全速运行。通过“Debug” 下的“Halt”或单击工具按钮 可停止程序的运行。 设置断点的方法是:把光标移到某一行,按 F9 键或单击工具按钮 ,在这一行前面会出 现一个红点,表示在该行加了一个断点。 8.寄存器的察看和修改 选择主菜单“View”下的“Registers ——> CPU Registers”或点击 CCS 操作界面左侧的调 试工具栏 图标,就会在 CCS 工作区底部打开一个 CPU 寄存器窗口,其中列出了所有 CPU 寄存器的值,并列出了 ST0、ST1 和 PMST 中有特殊意义的位和位域,如图 1-6 所示。要修改 某个寄存器值,只要双击该寄存器名称,既可出现“Edit Register”对话框,只要在“Value”文 本框中输入新的值,单击“Done”按纽,即修改成功。 图 1-6 CPU 寄存器窗口 选择主菜单“View”下的“Memory”或点击 CCS 操作界面左侧的调试工具栏 图标

DSP本科实验教材 就会弹出一个“Memory Window Options”对话框,如图l-7所示。选择Data或Program,输入 存储器的地址,即可观察以该存储器地址开始的内容,如图1-8所示。要修改某个存储器地址 中的内容,可以双击该地址,在出现的对话框中修改即可。 enory Vindov Options Titl Memory Address 0x0000 9-Value 0 Format Hex -C Style 厂■Vse IEEE F1oat Page: Data Enable Reference Buffe Start 0x0000 End 0x0000 Update Reference Buffer Automat K Cancel Help 图1-7存储器窗口 0x0060: end 0g0060: 0x0000 0x00000x0000 0g00000g00000x0000 0x00000x0000 0x0000 0z0000 0x006A: 0x00000x00000x00000g00000g00000x00000x00010x7FFF0x00000x0000 0x0074: 0x00000x00000x00000x00000x00000x00000x00000x0000 0x00000x0000 0x007E: 0x00000x0000 0x0080: stack 0x0080: 0x00000x00000x00000g00000g00000x0000 0x00000x0000 0x0000 0z0000 0x008A: 0x00000x00000x0000 0x00000x00000x0000 0x00000x00000x00000x0000 0z0094: 0x00000x00000x00000g00000x00000x0000 0x00000x0000 0x0000 0z0000 0x009E: 0x0000 0x0000 0x00000x0000 0x0000 0x0000 0x0000 0x00000x0000 0x0000 0x00A8: 0z0000 0x00 9000x0000 0x0000 0x00000x0000 0x0000 0x00B2: 0x00000x00 Edit重eory 100x00000x00000x0000 0x00000x0000 0x00BC 0x00000x00 100x0000 0x00000x00000x00000x0000 0x00C6: 0x0000 0x00 Address 0x0060 00 0x0000 080000 0x00000x0000 0z0000 0x00D0: 0x0000 0x01 Data: 5x0000 0 0x0000 0x0000 0x0000 0x0000 0x0000 0x00DA: 0x0000 0x00 Fage Data 00x0000 0x00000x0000 0x00000x0000 0g00E4: 0x0000 0艾0I 00x0000 0x00000x0000 0x0000 0x0000 0x00EE: 0x00000x0d Done Help 00x0000 0x00000x00000x0000 0x0000 0x00F8: 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0102: 0x00000x00000x00000g0000 0x000000000 0x0000 0x00000x0000 0x0000 0x010C: 0x00000x00000x00000x00000g00000x0000 0艾0000 0x0000 0x0000 0x0000 0x0116: 0x00000x00000x00000x00000g00000x00000x00000x0000 0x00000x0000 图1-8存储器显示及修改对话框 关于CCS使用的详细说明,请查看有关说明书(见参考文献15]、[16]),或参考CCS主 菜单的“Help”。 9.观察存储器映象Map文件 选择主菜单“File”下的“Open”,打开testl.Map文件,观察存储器的配置、段的定位及全 局符号等各项内容,将它们与testl.cmd文件中的设置进行比较,进一步理解cmd文件的作用。 四、实验报告的要求 1.程序分析 (1)说明3个文件的作用及接口情况,说明各个文件中伪指令的作用。 6

DSP 本科实验教材 6 就会弹出一个“Memory Window Options”对话框,如图 1-7 所示。选择 Data 或 Program,输入 存储器的地址,即可观察以该存储器地址开始的内容,如图 1-8 所示。要修改某个存储器地址 中的内容,可以双击该地址,在出现的对话框中修改即可。 图 1-7 存储器窗口 图 1-8 存储器显示及修改对话框 关于 CCS 使用的详细说明,请查看有关说明书(见参考文献[15]、[16]),或参考 CCS 主 菜单的“Help”。 9.观察存储器映象 Map 文件 选择主菜单“File”下的“Open”,打开 test1.Map 文件,观察存储器的配置、段的定位及全 局符号等各项内容,将它们与 test1.cmd 文件中的设置进行比较,进一步理解 cmd 文件的作用。 四、实验报告的要求 1.程序分析 (1)说明 3 个文件的作用及接口情况,说明各个文件中伪指令的作用

DSP本科实验教材 (2)分析主程序的结构和功能,对每条指令进行注释,写出执行结果。 (3)写出本工程的分段和存储器的定位情况。 2.调试说明 总结上机调试步骤和调试情况,分析调试中遇到的问题是如何解决的。 3.回答下列问题: (1)如果没有在工程中添加testl.cmd文件,试问汇编连接后能否产生testl.out文件?能 否获得正确的执行结果? (2)在主程序中存在着许多NOP指令,它们的作用是什么?如果将它们去掉,程序能否 正常运行? (3)伪指令.def和.rf的在本工程中的作用是什么?如果将它们去掉将会产生什么后果? 实验二寻址方式 一、目的 1.了解C54x的各种数据寻址方式,包括立即寻址、绝对寻址、累加器寻址、直接寻址、 间接寻址、存储器映象寄存器寻址及堆栈寻址等。 2.掌握各种寻址方法以及指令的执行过程,比较利用不同寻址方式的指令执行时间。 3.进一步掌握在CCS软件仿真环境下工程的建立、汇编、连接、运行和调试的基本过程。 二、内容 1.单步或断点执行程序,观察在各种寻址方式下地址的修改和空间的变化。 2.利用CCS的“Viw”功能,观察不同寻址方式下指令执行的结果(即目标数据的变化)。 三、实验步骤 1.预习实验程序 实验二提供了三个有关程序:汇编主程序test2.asm、中断矢量处理程序vectors.asm及命令 文件test2.cmd(参见第三部分,实验二参考程序)。 (1)读懂主程序test2.asm,了解程序中各种寻址方式的寻址空间情况,分析指令中源操作 数和目标操作数的寻址方式、执行过程和最终结果。在实验前先填写主程序中注释的括号部分, 然后通过实验验证自己的分析正确否。 (2)通过预习程序(特别是预习test2.cmd),了解该工程中COF格式段的划分及存储器 的分配情况。在实验前先填写表2-1。 表2-1工程test2中的段及其定位 段名 己/未初始化段 所属PAGE 起始地址 存储区长度 2.在CC$下建立工程,进行汇编、连接和调试的步骤与实验一类同,在此不再赘述

DSP 本科实验教材 7 (2)分析主程序的结构和功能,对每条指令进行注释,写出执行结果。 (3)写出本工程的分段和存储器的定位情况。 2.调试说明 总结上机调试步骤和调试情况,分析调试中遇到的问题是如何解决的。 3.回答下列问题: (1)如果没有在工程中添加 test1.cmd 文件,试问汇编连接后能否产生 test1.out 文件?能 否获得正确的执行结果? (2)在主程序中存在着许多 NOP 指令,它们的作用是什么?如果将它们去掉,程序能否 正常运行? (3)伪指令.def 和.ref 的在本工程中的作用是什么?如果将它们去掉将会产生什么后果? 实验二 寻址方式 一、目的 1.了解 C54x 的各种数据寻址方式,包括立即寻址、绝对寻址、累加器寻址、直接寻址、 间接寻址、存储器映象寄存器寻址及堆栈寻址等。 2.掌握各种寻址方法以及指令的执行过程,比较利用不同寻址方式的指令执行时间。 3.进一步掌握在 CCS 软件仿真环境下工程的建立、汇编、连接、运行和调试的基本过程。 二、内容 1.单步或断点执行程序,观察在各种寻址方式下地址的修改和空间的变化。 2.利用 CCS 的“View”功能,观察不同寻址方式下指令执行的结果(即目标数据的变化)。 三、实验步骤 1.预习实验程序 实验二提供了三个有关程序:汇编主程序 test2.asm、中断矢量处理程序 vectors.asm 及命令 文件 test2.cmd(参见第三部分,实验二参考程序)。 (1)读懂主程序 test2.asm,了解程序中各种寻址方式的寻址空间情况,分析指令中源操作 数和目标操作数的寻址方式、执行过程和最终结果。在实验前先填写主程序中注释的括号部分, 然后通过实验验证自己的分析正确否。 (2)通过预习程序(特别是预习 test2.cmd),了解该工程中 COFF 格式段的划分及存储器 的分配情况。在实验前先填写表 2-1。 表 2-1 工程 test2 中的段及其定位 段名 已/未初始化段 所属 PAGE 起始地址 存储区长度 2.在 CCS 下建立工程,进行汇编、连接和调试的步骤与实验一类同,在此不再赘述

DSP本科实验教材 3.为了更方便的观察在各种寻址方式下地址和目标数据的变化情况,建议在CCS环境下, 打开“CPU Registers”及“Memory”窗口,使用主菜单“Windows”下的“Tile Vertically”,平 铺各个观察窗口,如图2-1所示, 即可快捷的观察到程序执行过程中地址和数据的变化情况。 Debur 川2四世98八 于国昭目园回过 回☒et2 口石☒ GEL files 0x0060: Projects 0z0060: 0z00000g00000x0000 test2.pjt Oebn #4,DP □Dapondant Proj 0x0064: 0x00000¥00000*000B0x0000 00x7850,A #4 I DSP/ETOS Confi 0x0068: Dato_1 rpt 0x0068: 0x00660x000C0x000D0x000E add 00g100,4,A Generated File 0z006C: 0z00080x00060x00040x0002 Inelede 0x0070: 绝对寻址 Libraries 0x0070: 0x00020x00040x00060x0006 1.dmad:2 pmed:3.PA(PORT Addressing): 0x0074: 0x000E0x000D0x000C0x000B :部鞋图华器里器耀■部制器器装器格超阳将器■深据器相梨器装器器择解游路国 0x0078: stI A(Data 0l 0g00020x00040x00060x0008 0g0065,R2 0%007c: 0x000E0000D0x0000x000E 0x0080: mvkd 0x0080: 0x00010x00020x00000x0000 0000 0x000 0x000 0x0000 mvpd tabiee-AR 000000z0000 0x0000 0x008C: 0x00000g0000 0%0000 器寻址** 0x0090: 0x00000x00000x00000x0000 0x0094: 0x00000x00000x00000x0000 rsbx 8若印 0x0098: 0x00000x00000x00000x0000 nop 0z009C: 0z00000z00000z00000x0000 nop 0g00A0: 0x00000x00000x00000x0000 ld #table.A 0x00A4: 0x00000x00000x00000x0000 stm #Data 1,AR2 0x00A8: 0x00000x00000x00000x0000 rpt 08-1 0x00000x00000x00000x0000 00\c5400\cgtools\bin cl P.0 ST01004 14R.0000 AR0=000: 0070 1FR-0008 OVA REA EOSA IPTR 0080 re.0 Warnings.0 Rema :88go0o068 0000 AR4=000 =0 AR5■0000 图2-1在CCS中平铺各个窗口进行调试 四、实验报告的要求 1.程序分析 (1)分析主程序的结构和功能,对每条指令进行注释,写出该条指令的寻址方式和执行结 果。 (2)写出本工程的分段和存储器的定位情况,填写表2-1。 (3)分析和总结各种寻址方式的特点。 2.调试说明 总结上机调试步骤和调试情况,分析调试中遇到的问题是如何解决的。 3.回答下列问题: (1)总结TMS320C54x的7种寻址方式的寻址空间情况,它们分别应用在什么场合? (2)直接寻址有两种方式,它们是如何控制的? (3)写出符号“#”、“@”、“*”在指令(寻址方式)中所表示的含义。 (4)堆栈寻址的作用是什么?压栈和弹出操作是如何实现的? (5)绝对地址寻址有哪几种?它们可以访问哪些地址空间?各有什么特点?

DSP 本科实验教材 8 3.为了更方便的观察在各种寻址方式下地址和目标数据的变化情况,建议在 CCS 环境下, 打开“CPU Registers”及“Memory”窗口,使用主菜单“Windows”下的“Tile Vertically”,平 铺各个观察窗口,如图 2-1 所示,即可快捷的观察到程序执行过程中地址和数据的变化情况。 图 2-1 在 CCS 中平铺各个窗口进行调试 四、实验报告的要求 1.程序分析 (1)分析主程序的结构和功能,对每条指令进行注释,写出该条指令的寻址方式和执行结 果。 (2)写出本工程的分段和存储器的定位情况,填写表 2-1。 (3)分析和总结各种寻址方式的特点。 2.调试说明 总结上机调试步骤和调试情况,分析调试中遇到的问题是如何解决的。 3.回答下列问题: (1)总结 TMS320C54x 的 7 种寻址方式的寻址空间情况,它们分别应用在什么场合? (2)直接寻址有两种方式,它们是如何控制的? (3)写出符号“#”、“@”、“*”在指令(寻址方式)中所表示的含义。 (4)堆栈寻址的作用是什么?压栈和弹出操作是如何实现的? (5)绝对地址寻址有哪几种?它们可以访问哪些地址空间?各有什么特点?

DSP本科实验教材 实验三定点定标运算 一、目的 1.了解DSP定点数的定标方法。 2.掌握将十进制数转换为Q定标的十六进制数的方法。 3.学习利用定点定标完成纯小数运算和混合小数运算的程序编写方法。 二、内容 1.编写定点定标乘法程序,完成纯小数y=x1×x2=0.35×0.9=0.315的运算和混合小数 2=s1×s2=7.62×1.84=14.0208的运算。 2.在程序中保留8个数据存储单元,分别存放被乘数和乘数x1、x2、s1、s2及乘积y、Z 的值。其配置情况如图3-1所示。 3.完成纯小数乘法运算y=x1×x2=0.35×0.9=0.315,用Q15定标。完成混合小数乘法运算 z=s1×s2=7.62×1.84=14.0208,其中s1用Q12定标,s2用Q14定标。 x1 2 0x0000 s1 s2 z高16位 z低16位 图3-1数据存储单元的配置 (注:实际上,y只需要一个字存储单元,后面的存储单元存放了0x0000,是为了保证s1 指针是偶地址存放格式)。 三、实验步骤 1.预习实验程序 实验三提供了三个有关程序:汇编主程序test3.asm、中断矢量处理程序vectors.asm及命令 文件test3.cmd(参见第三部分,实验三参考程序)。 (1)读懂主程序test3.asm,了解在汇编程序中进行纯小数运算或混合小数运算的方法。掌 握Q法定点定标的编程方法(可参考文献[1])。在实验前先计算出源操作数及结果的定标值, 填写下列各括号,然后通过实验验证自己的计算正确否。 0.35的Q15定标值: ( 0.9的Q15定标值: 0.35×0.9的Q15定标值: ( 7.62的Q12定标值: ( ) 1.84的Q14定标值: ( 9

DSP 本科实验教材 9 实验三 定点定标运算 一、目的 1.了解 DSP 定点数的定标方法。 2.掌握将十进制数转换为 Q 定标的十六进制数的方法。 3.学习利用定点定标完成纯小数运算和混合小数运算的程序编写方法。 二、内容 1.编写定点定标乘法程序,完成纯小数 y=x1×x2=0.35×0.9=0.315 的运算和混合小数 z=s1×s2=7.62×1.84=14.0208 的运算。 2.在程序中保留 8 个数据存储单元,分别存放被乘数和乘数 x1、x2、s1、s2 及乘积 y、z 的值。其配置情况如图 3-1 所示。 3.完成纯小数乘法运算 y=x1×x2=0.35×0.9=0.315,用 Q15 定标。完成混合小数乘法运算 z=s1×s2=7.62×1.84=14.0208,其中 s1 用 Q12 定标,s2 用 Q14 定标。 图 3-1 数据存储单元的配置 (注:实际上,y 只需要一个字存储单元,后面的存储单元存放了 0x0000,是为了保证 s1 指针是偶地址存放格式)。 三、实验步骤 1.预习实验程序 实验三提供了三个有关程序:汇编主程序 test3.asm、中断矢量处理程序 vectors.asm 及命令 文件 test3.cmd(参见第三部分,实验三参考程序)。 (1)读懂主程序 test3.asm,了解在汇编程序中进行纯小数运算或混合小数运算的方法。掌 握 Q 法定点定标的编程方法(可参考文献[1])。在实验前先计算出源操作数及结果的定标值, 填写下列各括号,然后通过实验验证自己的计算正确否。 0.35 的 Q15 定标值: ( ) 0.9 的 Q15 定标值: ( ) 0.35×0.9 的 Q15 定标值: ( ) 7.62 的 Q12 定标值: ( ) 1.84 的 Q14 定标值: ( )

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共72页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有