1西安电子科技大学电子工程学院1ADSP技术与应用——浮点SHARC系列主讲:冯小平教授罗勇江西安电子科技大学电子工程学院2第5章SHARC系列DSP开发工具VisualDSP++5.1开发工具概述5.2DSP程序开发过程5.3集成开发和调试环境IDDE5.4Debugger工具5.5VisualDSP操作使用举例2西安电子科技大学电子工程学院35.15.1开发工具概述开发工具概述西安电子科技大学电子工程学院4开发工具概述早期的开发环境:adi_dsp3.3行编译和链接器目前使用的开发环境VisualDSP++:V1.0→V2.0→V3.0支持ADI公司的各种DSP器件的开发•ADSP21xx(定点)•Blackfin系列(定点)•SHARC系列(浮点)•TigerSHARC系列(浮点)3西安电子科技大学电子工程学院5VisualDSP支持的广泛性西安电子科技大学电子工程学院6VisualDSP++的演变VisualDSP++V1.0集成了两大部分:集成的开发环境(IntegratedDevelopmentEnvironment,简称IDE)和VisualDSPDebugger。VisualDSP++V2.0将IDE和Debugger集成到一个环境中,称为IDDE(IntegratedDevelopmentandDebuggingEnvironment),并且提供了更强大的功能。VisualDSP++V3.0在V2.0的基础上,支持新型高档处理器的开发,增加了专家链接器,其功能更完善。4西安电子科技大学电子工程学院7VisualDSP++中集成的开发工具C/C++编译器超过100种的数学、DSP实时库和C实时库汇编器链接器分配器加载代码产生器软件模拟器硬件仿真器西安电子科技大学电子工程学院8与之配套的硬件仿真器MOUNTIN-ICEISA插卡SUMMIT-ICEPCI插卡APEX-ICEUSB接口Trek-ICE网络接口5西安电子科技大学电子工程学院9VisualDSP++开发流程链接描述文件.ldfC源文件.c汇编文件.asm工程文件.dpj可执行代码.dxe库文件编译链接Build软件模拟器Simulator开发实验板目标板EZ-ICE仿真器Emulator产生EPROM代码测试/调试DSP1.编写链接描述文件2.代码产生3.模拟调试4.目标板调试5.制作/调试DSP系统西安电子科技大学电子工程学院10VisualDSP++编译环境的特点(1)具有强大的编辑器功能编辑器能够自动识别关键字、注释等并可以设置不同的颜色来加以区分。支持OLE拖拉、书签和其它标准的编辑操作。灵活的工程管理功能在一个工程中建立多个源文件(包括汇编、C)及系统结构文件,并可以随时添加、删除和修改文件,通过对工程的操作来完成编译连接。6西安电子科技大学电子工程学院11VisualDSP++编译环境的特点(2)容易访问开发工具产生的各种代码提供了多种开发工具,包括C/C++编译器、汇编器、链接器、加载码产生器等。可以通过对话框和菜单的形式来提供多种开发工具的入口参数,而且可以设定对某个文件的操作或对整个工程的操作,并且可以随时指定和修改相关的选项。灵活的(Build)编译链接功能可以编译链接某些文件或对整个工程进行编译链接。允许可选择的编译链接某些文件或只对修改过的文件进行编译链接;输出窗中会显示编译链接过程的状态信息;如果过程出错,通过双击出错指示行就会自动打开出错文件。西安电子科技大学电子工程学院12VisualDSP++编译环境的特点(3)支持VisualDSP++核(VDK)可以向工程中加入VDK支持,以便构造和定制自己的研制目标。提供工程管理窗口的Kernel表单可以控制和操作事件、事件位、优先级、信号类型和线程类型。灵活的工作空间管理功能可以同时建立最多10个不同的工作空间,并且在它们之间快速切换。在每个工作空间中可以指定不同的工程,以便在单个会话(session)中建立和调试多个工程。7西安电子科技大学电子工程学院13VisualDSP++调试环境的特征(1)调试工具使用方便所有的软件仿真器(Simulator)、硬件仿真器(Emulator)和开发板等都具有统一的界面。可以在这些目标之间灵活切换。多语言支持功能可以调试用C/C++或汇编语言编写的程序,可以查看它们的机器语言。对C/C++编写的程序,可以查看C/C++源程序、其反汇编程序或它们的混合。可以显示其局部变量或表达式的值西安电子科技大学电子工程学院14VisualDSP++调试环境的特征(2)有效的调试控制可以在标号或地址上设置断点;可以在寄存器、堆栈或存储器的位置上设置条件断点。通过跟踪断点之前程序的执行,能快速查出程序中存在的问题。性能分析通过提供的跟踪(trace)、时间统计(profile)等功能,能够迅速发现DSP程序中的瓶颈现象和需要进行优化的程序块;可以用Debug产生中断、IO输出、IO输入等来仿真真实的应用环境;在程序运行过程中能够查看寄存器/存储器中数值的变化,还可以同时观察程序源代码的执行过程;能够以图形方式画出某一存储器段中的内容,对图形的操作方便、灵活。8西安电子科技大学电子工程学院15VisualDSP++调试环境的特征(3)同时多处理器调试能力在一个界面下能同时调试任意数目的处理器;具有多处理器同步操作功能,如同步Step(单步执行)、同步Run(连续执行)和同步Halt(停止)。西安电子科技大学电子工程学院165.2DSP5.2DSP程序开发过程程序开发过程9西安电子科技大学电子工程学院17DSP程序开发方法DSP程序开发有三个阶段:Simulation利用VisualDSP提供的软件环境进行软仿真,不需要硬件;Evaluation利用EZ-KIT板对程序进行测试和评估;Emulation利用JTAG口对用户的目标系统进行模拟和测试。西安电子科技大学电子工程学院18可以利用的多种调试工具(DebugTools)DD存储区绘图(Plotmemory)D硬件断点(Hardwarebreakpoints)D统计剖析(Statisticalprofiles)DD断点(Breakpoints)D查看(Watchpoints)D流(Streams)D中断(Interrupts)D线性剖析(Linearprofiles)D跟踪(Traces)EmulationSimulation调试工具10西安电子科技大学电子工程学院195.35.3集成开发和调试环境集成开发和调试环境IDDEIDDE西安电子科技大学电子工程学院20在IDDE中开发程序的步骤第1步:创建一个新的工程第2步:设置工程选项第3步:添加或编辑工程源文件第4步:设置工程编译链接选项第5步:编译链接Debug版的工程,生成可执行文件第6步:建立DebugSession和加载可执行文件第7步:运行和调试(Debug)程序第8步:编译链接加载(Release)版本的工程11西安电子科技大学电子工程学院21第1步创建一个新的工程文件在VisualDSP下DSP的所有应用开发都是基于工程的,所以创建一个工程文件是整个软件开发的第一步。打开IDDE:选WINDOWS中的开始菜单,Start\Programs\VisualDSP\VisualDSP++forSHARC,弹出IDDE主界面;选Project\New,IDDE会弹出一个SaveNewProjectAs对话框,建议保存新工程文件;填入工程文件的名字和路径后,就产生了一个新工程文件;然后,IDDE会弹出一个ProjectOptions对话框。西安电子科技大学电子工程学院22IDDE主界面12西安电子科技大学电子工程学院23第2步设置工程选项建立新工程后,IDDE会弹出一个ProjectOptions对话框:对话框包含多个选项栏Project栏General栏Assembler栏Compile栏Link栏Splitter栏Loader栏大部分选项栏的选项可以使用默认值,但是最主要的是Project选项栏的设置。它用于选择处理器类型和工程输出类型,其余选项可以使用默认值。对话框包含多个选项栏Project栏General栏Assembler栏Compile栏Link栏Splitter栏Loader栏大部分选项栏的选项可以使用默认值,但是最主要的是Project选项栏的设置。它用于选择处理器类型和工程输出类型,其余选项可以使用默认值。西安电子科技大学电子工程学院24Project选项的意义(1)TARGET组:Processor:处理器的类型(如ADSP-21160、ADSP-21060、ADSP-21062,ADSP-21065L等)如选择ADSP-21065L。Type:IDDE的输出文件类型,如选择DSPexecutablefile。Name:可执行文件名,这个文件可以加载到DSP目标系统中,如TESTFF。TOOLCHAIN组:Complier:指定C编译器;Assembler:指定汇编器;Linker:指定链接器;Loader:指定加载器Splitter:指定加载方式的镜像文件管理器;13西安电子科技大学电子工程学院25Project选项的意义(2)Settingfor指定一个输出类型,有以下两种输出类型•Debug类型,编译链接的工程文件可用来进行Debug调试。•Release类型,生成具有限制的或不能进行Debug调试的工程文件,Release类型通常用来进行优化程序性能。一般在调试过程中选择Debug类型,当程序调试好以后,选择Release类型。西安电子科技大学电子工程学院26第3步添加或编辑工程源文件一个工程文件一般包含一个或多个C/C++或汇编语言源文件。当创建了一个工程文件并在工程选项中指定了所用的处理器类型后,就可以把新的或已存在的源文件加入到该工程中去。有以下功能添加文件到工程中去新建一个文本文件并把它加入到工程中编辑文件工程相关性14西安电子科技大学电子工程学院271.添加文件到工程中去可以把任何类型的文件添加到工程中去,当进行编译链接时,IDDE能自动选择可识别的文件进行编译链接。添加一个文件到工程中,可以通过点击工具栏中的添加文件图标,或选择菜单Project\AddtoProject\Files来,然后在所弹出的对话窗中选择文件名就可以了。添加文件对话窗如图示在对话窗中可以查找所需的源文件,双击后该文件会自动添加到工程中。被添加的文件会自动出现在工程的文件目录列表中,选择某个文件,然后点击鼠标右键就出现对该文件的操作栏。西安电子科技大学电子工程学院28添加文件对话窗15西安电子科技大学电子工程学院292.新建一个文本文件并把它加入到工程中选File\New,或从工具栏中选择编辑新文件图标按扭,则会打开一个WINDOWS风格的编辑窗口,接下来就可以进行编辑了。VisualDSP++的编辑器可以编辑任意名称的文本文件,当把一个文件添加到工程中后,它会自动更新工程窗口中的关系树。西安电子科技大学电子工程学院303.编辑文件VisualDSP++的编辑功能是非常强大支持标准的编辑功能CopyPasteCut书签等支持用户、DSP指定语言语法的高亮显示功能可以加入书签和进行列编辑操作等编辑完成后,要把新编辑的文件存盘,并加入到工程中去。16西安电子科技大学电子工程学院314.工程相关性相关性(Dependency)描述工程中源文件之间相互关系,它存放在后缀为.mak的文件中,即哪一个文件需要用到另一个文件的信息,因此这决定了编译链接的顺序。更新工程Dependencies可以通过Project\UpdateDependencies来实现。西安电子科技大学电子工程学院32第4步设置工程编译链接选项工程编译链接是创建可执行文件的前提定义工程的B