DSP 课程-CCS实验报告.pdf

上传人:暗伤 文档编号:60963266 上传时间:2022-11-19 格式:PDF 页数:12 大小:829.95KB
返回 下载 相关 举报
DSP 课程-CCS实验报告.pdf_第1页
第1页 / 共12页
DSP 课程-CCS实验报告.pdf_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《DSP 课程-CCS实验报告.pdf》由会员分享,可在线阅读,更多相关《DSP 课程-CCS实验报告.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、DSPDSP 课程课程实验报告实验报告实验一实验一一、实验目的一、实验目的1、了解 CCS 集成开发环境。2、掌握 DSP 简单程序(三个数累加求和)的建立和调试。计算机、ccs 软件、DSP 实验箱(这个可以没有)。三、实验内容三、实验内容编写程序,实现计算 DAT0+DAT1+DAT2。四、实验步骤四、实验步骤1、修改软件的“setup”设置,使 CCS 软件工作于“软件仿真器”模式,然后运行 CCS 软件。2、新建一个项目:点击 ProjectProjectNewNew,将项目命名为 ex1,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名注意文件夹一定要用英文名,不要将文件夹

2、取名为中文名不要将文件夹取名为中文名,因为 CCS 软件不能识别以中文命名的文件夹。3、新建一个源文件:点击 FileFileNewNewSource FileSource File 可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面,保存类型选择*.ASM(如果源文件是 C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM 为保存类型),我们在这里将保存名字命名为ex1.asmex1.asm。4、在项目中添加源文件:在新建立了一个源文件以后,要想使用CCS 编译器对该源文件进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器

3、中右键单击ex1.pjtex1.pjt,在弹出的菜单中选择 AddAddFilesFiles,然后将刚才建立的 ex1.asmex1.asm 文件添加到该项目中去。5、编写源程序:.title ex1 .mmregs .def _c_int00DAT0.set 60HDAT1.set 61HDAT2.set 62HDAT3.set 63H .text_c_int00:B startstart:LD#0000h,A LD#004h,DP ;置数据页指针 STM#1000h,SP ;置堆栈指针 SSBX INTM ;状态寄存器置位 RSBX CPL ST#0036h,DAT0 ;把 0036h 放

4、到DP(9 位地址)+偏移地址(指令中 7 位地址)的 16 位地址中去 ST#0049h,DAT1 ST#1330h,DAT2 LD DAT0,A ;三数相加操作:DAT3=DAT0+DAT1+DAT2在工程管理器中双击 ex1.asmex1.asm,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容:二、实验设备二、实验设备 ADD DAT1,A ADD DAT2,A STL A,DAT3 NOP NOP NOP NOP;loop:B start .end提示:(1)源代码的书写有一定的格式。每一行代码分为三个区:标号区、指令区和注释区。标号区必须顶格写,主要是定义变量、常量、程序标识时的

5、名称。指令区在标号区之后,以空格或 TAB 格开。如果没有标号,也必须在指令前面加上空格或 TAB,不能顶格。注释区在标号区、程序区之后,以分号开始。注释区前面可以没有标号区或程序区。另外还有专门的注释行,以*打头,必须顶格开始。(2)一般区分大小写,除非加编译参数忽略大小写。(3)标点符号有时不注意会打成中文全角版本号导致错误。6、编写链接配置文件:只有汇编源程序是不够的,一个完整的 DSP 程序至少包含两个部分:主程序、链接配置文件(*.cmd)。链接配置文件有很多功能,这里先介绍最常用的也是必须的两条:1.存贮器的分配 2.标明程序入口。由于每个程序都需要一个链接配置文件,每个程序的链接

6、配置文件根据实际情况的需要都略有不同,/*ex1.cmd*/-o ex1.out-m ex1.map MEMORY PAGE 0:EPROM:origin=0E00h,len=100h PAGE 1:SARAM:origin=0060h,len=0020h DARAM:origin=0080h,len=100hSECTIONS .text:EPROM PAGE 0 .data:EPROM PAGE 0 .bss :SARAM PAGE 1 STACK:DARAM PAGE 17、对项目进行编译和链接:把 ex1.asm、ex2.cmd 依次添加到项目后,点击 ProjectProjectCom

7、pile FileCompile File,在项目编译成功之后点击ProjectProjectBuildBuild 选项对该项目进行链接,生成*.OUT 文件。8、装载可执行文件:要让程序代码在 DSP 内部运行必需将生成的*.OUT 文件装载到 DSP 内部,装载方法是点击:FileFileLoadLoad/*产生可执行下载文件,文件名可以根据不同项目而定*/*产生存储器映射文件,文件名可以根据不同项目而定*/下面就为本实验的程序编写一个链接配置文件,其它实验的链接配置文件都可以参考该实验的例程来完成:ProgramePrograme 再选择生成的 ex1.out 文件就可以将程序装载到 D

8、SP 的内部存储器中。9、运行程序并查看结果:a)首先打开 CPU 寄存器:点击ViewViewRegisters-CPU RegistersRegisters-CPU Registers,如下图所示,弹出“CPU RegistersCPU Registers”对话框,可看到 CPU 个寄存器的当前值。b)然后点击 DebugDebugRunRun 让程序在 DSP 内部运行,最后点击 DebugDebugHaltHalt,再观察“CPU RegistersCPU Registers”中累加器 A 的值,是否为 DAT0+DAT1+DAT2.实验二实验二一、实验目的一、实验目的1、掌握加法、B

9、NAZ、RPT、MVPD 等 DSP 指令的使用。2、掌握“宏”的概念和基本工作原理。3、掌握“子程序”的概念和基本工作原理。4、分析“宏”和“子程序”的异同点。二、实验设备二、实验设备计算机、ccs 软件、DSP 实验箱(这个可以没有)。三、实验内容三、实验内容1、在“实验一”的基础上,修改程序,设计一个三数相加求和的“宏”来计算 DAT0+DAT1+DAT2的值。2、新编写一个多数求和程序,要求通过“子程序”调用来计算y=xi15i的值,程序中用.bss 指令来开辟六个字的存储空间来存放x1x5和 y。四、实验步骤四、实验步骤1、分析实验要求,分别编写“宏求和”、“子程序求和”程序 ex2

10、-1.asm、ex2-2.asm。2、参照“实验一”编写链接配置文件 ex2-1.cmd、ex2-2.cmd。3、对项目进行编译和链接:把汇编源文件和链接配置文件依次添加到项目后,点击 ProjectProjectCompile FileCompile File,在项目编译成功之后点击 ProjectProjectBuildBuild 选项对该项目进行链接,生成*.OUT 文件。4、装载可执行文件:要让程序代码在 DSP 内部运行必需将生成的*.OUT 文件装载到 DSP 内部,装载方法是点击:FileFileLoadLoadProgramePrograme 再选择生成的*.out 文件就可以

11、将程序装载到 DSP 的内部存储器中。5、运行程序并查看结果:a)查看 CPU 寄存器方法参考“实验一”;b)查看数据空间首先打开欲查看的数据空间:点击 ViewViewMemoryMemory,弹出“Memory Window OptionsMemory Window Options”对话框,输入欲查看的地址,比如 0 x00000060。然后点击 DebugDebugRunRun 让程序在 DSP 内部运行,最后点击 DebugDebugHaltHalt,再观察“MemoryMemory”对话框,看是否与预想结果一样:编写程序如下:编写程序如下:ex2-1.asmex2-1.asmex2-

12、1.cmdex2-1.cmd/*ex2-1.cmd*/-o ex2-1.out/*产生可执行下载文件,文件名可以根据不同项目而定*/-m ex2-1.map/*产生存储器映射文件,文件名可以根据不同项目而定*/MEMORY PAGE 0:EPROM:origin=0E00h,len=100h PAGE 1:SARAM:origin=0060h,len=0020h DARAM:origin=0080h,len=100hSECTIONS .text:EPROM PAGE 0 .data:EPROM PAGE 0 .bss :SARAM PAGE 1 STACK:DARAM PAGE 1ex2-1e

13、x2-1 运行结果:运行结果:ex2-2.asmex2-2.asmex2-2.cmdex2-2.cmd/*ex2-2.cmd*/-o ex2-2.out/*产生可执行下载文件,文件名可以根据不同项目而定*/-m ex2-2.map/*产生存储器映射文件,文件名可以根据不同项目而定*/MEMORY PAGE 0:EPROM:origin=0E00h,len=100h PAGE 1:SARAM:origin=0060h,len=0020h DARAM:origin=0080h,len=100hSECTIONS .text:EPROM PAGE 0 .data:EPROM PAGE 0 .bss :

14、SARAM PAGE 1 STACK:DARAM PAGE 1ex2-2ex2-2 运行结果:运行结果:实验三实验三一、实验目的一、实验目的1、掌握 MVPD、MAC、MAX 等一些高效率指令的使用。2、掌握算法优化的基本原理和实现。计算机、ccs 软件、DSP 实验箱(这个可以没有)。三、实验内容三、实验内容编写两个子程序分别实现“乘法累加”运算和“寻找乘积最大值”运算。四、实验步骤四、实验步骤二、实验设备二、实验设备1、分析实验要求,编写两个子程序。.title ex3.asm.mmregs ;为变量分配 6 个字的存储空间STACK.usect STACK,10H;堆栈的设置 .bss

15、a,5 .bss x,5 .bss y,1 .bss z,1 .data .def _c_int00table:.word 1,1,1,1,5 .word 5,4,3,2,2 .text_c_int00:B startstart:STM#0,SWWSR STM#a,AR1SUM:STM#a,AR3 STM#x,AR4 RPTZ A,#3 MAC STL RET*AR3+,*AR4+,A A,y RPT#9 LD#0,A ;AR1 指向 x ;下一条被重复执行 10 遍 ;把程序存储器中的数据传送到数据存储器 ;A 清零 ;调用求最大值函数 ;插入 0 个等待状态;设置堆栈指针 STM#STAC

16、K+10H,sp MVPD table,*AR1+CALL SUM ;调用求和函数 CALL SEARCHend:B endSEARCH:LD*AR1+,T MPY*AR2+,B MAX A BANZ SEARCH,*AR3-.end2、参照“实验一”编写链接配置文件 ex3.cmd。3、对项目进行编译和链接:把汇编源文件和链接配置文件依次添加到项目后,点击 ProjectProjectCompile FileCompile File,在项目编译成功之后点击 ProjectProjectBuildBuild 选项对该项目进行链接,生成*.OUT 文件。4、装载可执行文件:要让程序代码在 DSP

17、 内部运行必需将生成的*.OUT 文件装载到 DSP 内部,装载方法是点击:FileFileLoadLoadProgramePrograme 再选择生成的*.out 文件就可以将程序装载到 DSP 的内部存储器中。5、运行程序并查看结果:运行程序,查看CPU寄存器和数据空间6、查看执行的周期数:a)关闭上述数据观察窗口,在文件 ex3.asm 的“end:B域双击鼠标即可,如下图所示:end”处设置断点:在该语句的左边灰色区b)点 击 菜 单 ProfilerProfiler EnableEnable ClockClock,使 EnableEnable 上 出 现 一 个 小 钩(如 下 图

18、所 示);然后再点击 ProfilerProfiler ViewView ClockClock,则会在 CCS 窗口中出现一个“Clock=0”的标记。c)对项目进行重新编译下载:点击 ProjectProjectRebuild AllRebuild All,编译成功后点击 FileFileReload ProgramReload Program,最后点击 DebugDebugRunRun 运行程序,则可发现 Clock 图标 处显 然这个 数字“116”即是程序 运行所 耗机 器周期数 N。7、对编写的程序进行优化,比较指令周期的消耗大小。实验过程:每个实验都是经过反复调试,修改错误最终达到预期目的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁