ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:280.86KB ,
资源ID:14987827      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14987827.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(西电dsp定点实验分解Word下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

西电dsp定点实验分解Word下载.docx

1、启动Visual DSP+ 4.0,建立一个用C源代码的工程(Project),同时用调试器来评估用C语言所编写代码的性能;练习二:创立一个新的工程,修改源码来调用一个汇编(asm)程序,重新编译工程,用调试器来评估用汇编语言所写程序的性能;练习三:利用调试器的绘图(plot)功能来图形显示一个卷积算法中的有关数据的波形;练习四:利用调试器的性能统计功能(Statistical profile)来检查练习三中卷积算法的效率。利用所收集到的性能统计数据就能看出算法中最耗时的地方。练习一运行C程序在练习一中,将创立和运行一个C程序,源文件在Blackfin讲义参考实验程序Tutorialdot_p

2、roduct_c子目录。1. 实验步骤l) 进入Visual DSP十并打开一个工程(Project)进入 Visual DSP,显示Visual DSP+的集成开发和调试环境窗口(Integrated Development and Debugger Environment,简称IDDE)。选择菜单File 中Open 打开文件unit_1dot_product_c dotprodcdpj。VisualDSP+环境将装载dotprodc工程,并列出相应的源文件。在输出窗口(Output Window)中显示简要信息。Dotprodc工程中有3个文件,定义数组和计算数组点积和的两个C语言源文件

3、 dotprod_main.(主程序)、dotprod.c(子程序)以及一个描述程序和数据存储位置的链接描述文件dotprodcldf。2) 编译 dotprodc工程在菜单 Project中选择 Build Project来对工程进行编译。此时,输出窗口显示程序编译时的各种状态信息(包括出错和编译进程信息)。当编译检测到错误时,将在输出窗口出现相应的出错信息,用鼠标双击它,编译器将自行打开源文件。这时可对源文件编辑、修改错误,再次进行编译。当编译不再有错时,输出窗口将显示“Build completed successfully”。在本例子中,编译器会检测到一个未定义的错误,显示为:“dot

4、prod_main.c”,line 115:error 20:identifier“itn”is undefined itn i;在输出窗口中对该行文字用鼠标双击,环境会自动打开 dotprod_main.c文件,并将光标定位在出错行。你可以看见单词“int”被错写成“itn”。将该错误改正后,保存并重新编译。如果再没有错误出现,这时工程已被成功编译,就可以用VisualDSP+的debugger来调试程序。3) 运行VsualDSP+调试器在编译完成后,环境将自动进入调试状态,对于初次进入debugger,将显示对象选择对话框,在其中指定对象和处理器信息。 域选择值Debug TargetA

5、DSP-BF5xx Blackfin Family SimulatorsPlatformADSP- BF5xx Single Processor SimulatorSession NameADSP-BF533 ADSP- BF5xx Single Processor SimulatorProcessorADSP-BF533 若在调试过程中需定义不同的对象和处理器类型,选取菜单Sessions中NeW Session项来重新定义。NeW Session 对话框图7.2所示:图7.2 NeW Session 对话框用VisualDSP十调试时,调试器会自动调入工程的可执行文件dotprodcdxe

6、。在默认情况下,调试器会打开三个窗口:输出窗口(下)、反汇编窗口(右)、包括工程主文件dotprod_main.c的源代码窗口(左)。如图7.3所示,左窗的每一条C语句都对应右窗中的多条汇编指令:图7.3 调试器的输出窗口、反汇编窗口和源代码窗口在图7.3中,箭头所指为当前执行指令,红圆圈代表设定的断点位置。当调试器加载C程序时,会自动设置两个断点,分别在代码执行的开头和结尾。测览程序中的断点可选择菜单Settings下的BreakPoints,可在此对话框中增加或删除断点。另外也可通过在每条代码行的开头处双击鼠标或快捷键F9来设置或取消断点。4) 运行dotprod.c从 Debug菜单中选

7、择 Run项,程序将被执行,其输出结果在 Output window中显示。5) 评估函数 a_doc_c 的性能(profile)Profile用来分析程序的运行时间特性,通过Profile可以找到最耗时的程序段,这可能就是需要进一步优化性能的程序段。通过下述步骤来设置Profile功能并显示其结果:(1) 选 ToolsLinear ProfilingNew Profile命令(2) 出现一个Profile的子窗口,在该窗口上点击右键弹出快捷菜单(3) 点击菜单中的Properties.,选中第二个选项卡“filter”然后设置开始地址和结束VisualDSP+允许在整个程序空间中进行评估

8、,当然也可以设置若干个Memory ranges或若干个C子程序的函数体进行评估,即可以重复指定多个 Profile Range。在本例中要求对三个子函数a_dot_b() 、a_dot_c()、a_dot_d()的运行效率作出评估,应在 “Filter”选项卡中选择C/C+ function(4) 重新编译加载程序,按F5继续运行程序,程序完全执行后,将在Console窗口显示结果,并在Profile窗口中显示程序运行过程中的各种数据。点击右键菜单中View Sample Count(5) 将Project Options中的编译器设置将代码优化功能选中,重新编译和链接程序后,对程序中的三个

9、子函数的运行性能重新进行评估,如图7.7(2)所示,对比优化前和优化后的区别,说明其原因。2.实验结果截图练习二运行C和汇编混合程序在练习一中的例子是C主程序调用C子程序。在练习二中,要学会如何创建新工程,在此基础上我们将修改这个C主程序,让其调用一个汇编子程序,重新编译工程并评估汇编程序的性能。1实验步骤l)创建一个新的工程(project)从 Project菜单中选取New项,在弹出的工程保存对话框中,将工程名定义为dot_product_asm.dpj,并保存在unit_1dot_product_asm目录下。接着在弹出的工程选项对话框中定义其各项参数值,其各项参数值可如下表所示:选项设

10、定值TypeDSP executable fileNamedot_product_asmSettings forDebug这些参数都是针对ADSPBF533处理器而设置的。在Project Options对话框中,选中“Enable optimization”和“Generate debug information”两项,系统将自动生成针对ADSPBF533的优化代码。2) 向dot_product工程中添加文件选取菜单ProjectAdd to Projectfile(s)项,按住Ctrl键来同时选中dotprod_mainc,dotprodc,dotprod_funcasm和dotprod

11、asm.ldf文件,点击“Add”将这几个文件加到工程中。3)创建链接描述文件在此步骤中,我们将给该工程创建一个连接描述文件。首先,我们了解一下连接描述文件。(1)首先来了解一下ldf结构文件:dotprodasmldf文件的开头是 ADSP-BF533物理地址的描述说明,都是注释。接着是SEARCH_DIR,$LIBRARIES和$OBJECTS命令。它们是链接器在搜索和解决输入文件中的参考量时所用到的路径名。接下来是MEMORY命令,它定义系统的物理地址并定义许多物理段的地址范围和类型。在MEMORY命令之后是SECTIONS命令。在MEMORY命令中已声明的物理段通过SECTIONS命令

12、来映射程序代码中说明的逻辑段,从而定义代码的各个段的物理存放地址。链接器用来映射的对象文件在SECTIONS命令的INPUT_SECTIONS中描述。(2)连接描述文件创建步骤如下:1,在Tool菜单中,点击Expert Linker中的Creat LDF2选择“Project type”为C型,点击“下一步”3选择“System type”为“Single process”4点击完成,就会出现该工程的链接描述文件图。至此,该工程的链接描述文件就创建成功。4) 修改工程源文件在此步骤中,我们将修改dotprod_main.c文件,让其调用一个汇编子程序 a_dot_c_asm来取代a_doc。

13、打开dotprod_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 );将这四条语句修改为:/*extern int a_dot_c( int *, int * );extern int a_dot_c_asm( int *, int * ); /* result1 = a_dot_c( a, c ); result1 =

14、 a_dot_c_asm( a, c );这样主程序将调用a_dor_c_asm汇编程序来取代练习一中的a_dot_c子程序。5) 修改链接描述文件当工程源文件修改该完毕后,编译在工程,输出窗口如下图7.15所示:图7.15打开链接描述文件,如下图7.16:图7.16将左边方框中的带有红叉的“dotprod_func.doj”拖动到右边方框的MEM_L1_CODE中,红叉消失,这时我们就对链接描述文件进行了修改。6) 编译和运行dot_product先选取菜单 ProjectBuild Project项来编译工程;再选取菜单 DebugRun项来运行程序。在输出窗口(Output Windows)中就会得到运行结果: Dot product 0 = 13273595 Dot product 1 = -49956078 Dot product 2 = 358725187) 评估a_dot_asm的效率要评估汇编代码的效率,要在

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

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