郭万有DSP实验1.docx_第1页
郭万有DSP实验1.docx_第2页
郭万有DSP实验1.docx_第3页
郭万有DSP实验1.docx_第4页
郭万有DSP实验1.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 VISUALDSP+的使用入门实验目的:本次实验主要目的是熟悉VISUALDSP+的开发环境。针对ADSPTS201,利用几个用C、C+和汇编语言写成的简单例子来描述VISUAL DSP+编程环境和调试器(debugger)的主要特征和功能。对于运行在其它类型TS20x处理器的程序只需对其链接描述文件(LDF)做一些修改,就可用于其它芯片或者ADSPTS201的硬件仿真。在软件的安装目录TSldf下有每种处理器类型的链接描述文件,可供参考。实验任务:u 实验1:熟悉使用Visual DSP+ 5.0开发环境,建立一个新工程,并新建一个C语言程序源代码文件,编译纠错,最后学习使用调试器,并评估代码的性能;u 实验2:调入指定的工程文件,并添加汇编语言程序源代码文件,编译纠错,进行调试,并评估代码的性能,最后与上一实验C语言程序的代码性能进行对比;u 实验3:利用调试器的绘图功能来图形显示一个FIR算法中的有关数据的波形;u 实验4:利用调试器的性能统计功能来检查练习3中FIR算法的效率。观察所收集到的性能统计数据就确定算法中最耗时的程序段。实验内容:l 实验1: C语言代码的性能评估实验l 实验步骤:1)打开VisualDSP+,并新建一个工程文件,命名为”test1_1”,保存路径选择”D:DSP”;2)新建C语言源程序文件,命名为” dotprod.c”;3)若工程中源程序文件夹(Sourse Files)中默认新建了.c文件,请先删除,然后再将新建的dotprod.c语言源程序文件添加到新建的工程文件中;4)编译C语言源程序文件,分析输出窗口的错误并纠正,直至文件编译通过,输出窗口显示“Build completed successfully”;5)新建一个调试会话(Session),按照下表进行调试会话的属性设置;域选择值Debug TargetADSP-TS20x Family SimulatorPlatformADSP-TS201 Rev.0.0 Single Processor SimulatorSession NameADSP-TS201 ADSP-TS201 Rev.0.0 Single Processor SimulatorProcessorADSP-TS201或域选择值ProcessorTigerSHARC-ADSP-TS201Connection TypeEZ-KIT Lite(评估板调试),Emulator(仿真器仿真),Simulator(软件仿真)PlatformADSP-TS201 Rev. 1.x/2.x Single Processor Simulator Session Name选择Platform后默认即可(也可修改)6)编译整个工程,(首次编译需要先选择调试会话(Session)对象,选择新建Session对象即可),输出窗口无错误信息提示则整个工程编译连接通过;7)在整个工程编译完成后,环境已经自动进入调试状态,选择运行(Run)工程, 程序将被执行,其输出结果在 Output window中显示。用VisualDSP+调试时,调试器会自动调入工程的dxe可执行文件,并打开相应的窗口(调试器的输出窗口、反汇编窗口和源代码窗口等),源代码窗口中,箭头所指为当前执行指令,红圆圈代表设定的断点位置。当调试器加载C程序时,会自动设置两个断点,分别在代码执行的开头和结尾。8)新建代码性能分析器(Linear Profiling)工具, 程序评估函数 a_doc_b, a_doc_c, a_doc_d 的性能。(注意在Linear Profiling窗口点击右键选择Properties然后在filter选项卡中设置要分析的程序段的起始地址或函数,在Linear Profiling窗口点击右键选择View Execution切换性能分析结果的显示方式(百分比或计数器)9)将Project Options中的编译器设置将代码优化功能选中(ProjectCompileGeneral选中Enable optimization),重新编译和链接程序后,对上面的三个子函数的运行性能重新进行评估,对比优化前和优化后的区别,考虑其原因。(提示:显示结果要采用计数器的显示方式才能区分两者的差别)l 实验结果:(1).优化前三个子函数的性能分析结果:(2).优化后三个子函数的性能分析结果:l 实验结果分析:从实验结果可以看出,在执行了代码优化后,三个子函数的性能都得到了较高的提升。函数a_dot_a的执行步数由644降到了108,函数a_dot_c的执行步数由630降到了84,函数a_dot_d的执行步数由383降到了75。l 实验2: C语言与汇编语言混合编程代码的性能评估实验l 实验步骤:1)打开VisualDSP+,导入工程”test1_2”,工程路径为”D:DSPtest1_2”文件夹,并添加该文件夹下的dotprod.c和main.c文件;2)查看源程序代码并与实验1中的代码进行对比观察两者的不同之处,最后对文件进行编译纠错;3)编译整个工程,(首次编译需要先选择调试会话(Session)对象,选择已建立的Session对象或新建一个Session对象),输出窗口无错误信息提示则整个工程编译连接通过;4)新建代码性能分析器(Linear Profiling)工具, 要评估函数的函数为 a_doc_c 。5)运行(Run)工程, 程序将被执行,其输出结果在 Output window中显示,记录实验结果和代码性能分析结果。6)添加”D:/DSP/ test1_2”文件夹下的dotprod.asm文件,并将main.c中代码作如下修改:extern int a_dot_c( int *, int * );修改为extern int a_dot_c_asm( int *, int * );result1 = a_dot_c( a, c );修改为result1 = a_dot_c_asm( a, c );此处代码修改是将主函数调用的a_dot_c函数,由采用 C语言编写的函数修改为采用汇编语言书写的程序。7)重新编译工程,出现错误,创建链接描述文件(ToolExpert LinkerCreat LDF),并打开,为my_asm_section下的dotprod.doj分配存储空间至M0Code。8)修改代码性能分析器中要分析asm代码的起始地址(在Profile设置窗口中要选择Memory ranges,设置代码的起始地址分别为_a_dot_c_asm, _a_dot_c_asm.end),运行(RUN),记录程序执行结果和性能分析结果,并与第5)步中的结果进行对比。l 实验结果:(1) C语言编写的函数a_doc_c优化前的性能分析结果:(2) C语言编写的函数a_doc_c优化后的性能分析结果:(3)代码修改为汇编语言编写的函数a_dot_c_asm运行后的结果:(4)代码修改为汇编语言编写的函数a_dot_c_asm后优化前的性能分析结果: (5)代码修改为汇编语言编写的函数a_dot_c_asm优化后的性能分析结果:l 实验结果分析:从实验结果可以看出,将C语言编写的代码改为使用汇编语言编写的代码后,性能得以提升,但对汇编语言的优化效果不是很理想。由实验结果(1)(2)可以分析出,C语言编写的函数a_dot_c在进行了优化后,性能得以大幅度提升;由实验结果(1)(4)可以分析出,将C语言编写的代码改为用汇编语言编写的代码后,性能也有了较大的提升;由实验(4)(5)可以分析出,用汇编语言编写的代码在优化前后性能提升不是很大。l 实验3: 数据绘图(Plotting)实验l 实验步骤:1)将已编译好的工程的可执行文件调入Debugger环境,目录为将D: DSPtest1_3Debugtest1_3.dxe 。(选择菜单 FileLoad Program)2)在弹出的汇编语言源代码查看inputs和output两个全局数组。3)新建绘图窗口(选择菜单 ViewDebug WindowsPlotNew项)在Plot设置窗口中type设定为Line Plot Title命名为”FIR”;添加两个Data Setting,参数按以下表格进行设定。Data SetsNameMemoryAddressCount StrideDatainputsinputsTigerSharcMemoryInputs2561float outputoutputTigerSharcMemoryoutput2561float4)将 Plot窗口调整合适的大小,运行(Run), 观察Plot窗口中图像的变化。将图像记录下来。并确定count=150时in变量和out变量的值并记录下来。5) 绘制幅度谱线图:在plot窗口点击右键,选择“modify setting”,在“plot setting”窗口选择“data processing”,在“data sets”窗口选择“inputs”,在“data process”窗口选择“FFT Magnitude”,然后点“OK”,观察图像,重复以上操作,把数据“output”也改为“FFT Magnitude”,观察图像,把数据“output”也改为“FFT Magnitude”,就得到了最终的滤波谱图,将图像记录下来。并请实验老师查看实验结果。l 实验结果:(1) 输入Inputs和Output数组后生成的图像结果:(2) FIR滤波器的幅度谱线图 实验结果分析:从实验结果可以看出,通过VISUALDSP+的绘图功能,可以对系统从时域和频域的进行分析。l 实验4: 代码性能统计实验l 实验步骤:1)导入工程文件,目录为将D:DSPtest1_4test1_4.dpj。(选择菜单 FileOpenProject)2)编译工程;3)新建代码性能分析器(Linear Profiling)工具,弹出代码性能统计窗口;窗口中: Histogram:用图形的方式来显示该执行单元所用时间百分比。 :用数字显示该执行单元所占用的时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论