资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,DSP,的软件结构,DSP,的开发环境与工具,DSP,的开发环境与工具,一般估计,一个嵌入式系统,开发的,80%,的努力,以及系统的,80%,的复杂程度,取决于软件。,因此,设计人员在为实时系统选择处理器时,都极为看重先进的、易于使用的开发环境与工具。,DSP,的开发环境与工具,DSP,的开发环境和工具可以分为以下几类:,代码生成工具,系统集成及调试环境工具,实时操作系统,C,优化编译器,TI,为其,TMS320,系列,DSP,提供了标准的,C,编译器。将标准,C,源代码编译称为相应片种的汇编语言的源代码文件,进而汇编和连接,产生可执行的目标文件。,这些,C,编译器符合,ANSI C,标准;有运行支持库;一个外壳程序(,shell program,)可以一步将,C,源代码翻译成为,TMS320,的目标代码。,C,优化编译器主要特点,完全符合,ANSI,标准,带有一个完整的运行支持库,包括字符串操作,动态存储器分配,数据转换,三角、指数和双曲函数等。可以对运行支持函数库和用户定义函数库作扩展。,使用多种先进技术来从,C,源代码产生高效汇编代码。通用优化可用于任何,C,代码,而对各片种的专门优化更适应该片种的结构特点。通过简化循环、重新安排语句和表达式、将变量安排入寄存器等方法来改善执行速度,减小,C,程序的大小。,C,优化编译器主要特点,归档器公用程序(,Archiver,Utility,),将文件归入单一的档案文件库中,可以对库做文件的添加、删除、替换等。可以将目标文件库作为连接器的输入。,C,优化编译器主要特点,公用目标文件格式(,COFF: Common Object File Format,)使用户能够在连接时定义自己系统的存储器映射,将,C,代码和数据连接到特定的存储区域,从而最大限度的改善其性能。,COFF,还为源程序一级的查错提供了强有力的支持。,包含一个外壳程序(,Shell Program,),只用一个命令,就可以编译、汇编和连接,直接从,C,源文件产生可执行的,COFF,文件。,C,优化编译器主要特点,多种列表文件:,(,1,)汇编语言源文件,可以有选择的包括内部信息、,C,源代码及使用寄存器的信息;,(,2,)预处理输出文件;,(,3,)带有行号和操作码的汇编列表文件,C,编译器的优化效率,C,编译器的效率取决于所作的优化的范围和数量。,TMS320,的,C,编译器能做很宽范围的多种优化,从而改善其编译所得代码的效率。,TMS320,的,C,编译器所作的优化分为适用于所有处理器的通用优化和针对特定片种的专门优化。,通用优化,改变表达式,字符简化,常数合并,将表达式简化成为要求较少指令和较少寄存器的等价形式:,例:,(,a+b)-(c+d,) (,a+b)-c)-d,a=(b+4)-(c+1) a=b-c+3,通用优化,数据流优化,使用较少的代价的表达式,检测出并除去不必要的赋值,避免再计算已经计算过的值。,优化转移,/,简化控制流,分析程序的转移情况,重新安排操作顺序,消去转移或多余的条件。,通用优化,优化循环相关变量,例如:,为数组元素设置下标的代码改为指针增量的代码;,用计数器控制的循环写成块循环,或使用高效的增,/,减量转移指令;,在循环中总是计算同样值的表达式,移到循环外面;,针对特定片种的专门优化,将地址寄存器作为指针来使用。当数组下标结构陈伟循环变量时,这种优化特别有效,以省时为基础的寄存器配置,根据变量的类型、使用的情况和频率,将寄存器配置存放变量和暂时使用的值。循环中使用的变量的优先级高于其他变量;不再重复使用的变量可以配置到同一个寄存器。,通过使用块循环指令,RPTB,来支持零开销循环。,使用寄存器来传递函数的自变量,汇编语言工具,TMS320,的汇编语言工具是一个软件包,其中包括:,汇编器,连接器,归档器,交叉引用列表器,十六进制转换公用程序,汇编器(,Assembler,),将汇编语言的源程序文件汇编成为机器语言的目标程序文件,其格式为,COFF,(公用目标文件格式)。汇编语言源程序可以包括汇编语言指令(,instruction,)、汇编指令(,assembler directives,)和宏指令(,macro directives,),连接器(,Linker,),连接器的基本任务是将目标文件连接在一起,产生可执行模块。连接器可以接受的输入文件包括汇编器产生的,COFF,目标文件、命令文件、库文件以及已部分连接好的文件。它所产生的可执行,COFF,目标模块可以装入各种开发工具,或由,TMS320,器件来执行,归档器(,Archiver,),归档器允许用户将一组文件归入一个档案文件(库)。例如,将若干个宏归入一个宏库,汇编器将搜索这个库,并调用源文件中使用的宏。也可以用归档器将一组目标文件收入一个目标文件库,连接器将连接库内的成员,并解决外部引用。,交叉引用列表器(,Cross-Reference Lister,),交叉引用列表器是一个查错的工具。它接受已经连接好的目标文件作为输入,产生一个交叉引用表作为输出。它列出符号、符号的定义、以及他们在已经连接的源文件中的引用。,十六进制转换公用程序(,Hex Conversion Utility,),将,COFF,目标文件转换成为若干种标准的文件格式:,ASCII-,十六进制,Extended Tektronix,Intel MCS-86,Motorola,Exorciser,TI SDSMAC,系统集成与调试工具,TI,公司为,TMS320,系统的集成与调试所提供的工具包括调试器接口(,C/Assembly source debugger,)、软仿真器(,Simulator,)、,DSP,入门套件(,DSK,、,DSP Starter Kit,)、标准评估模块(,EVM,)以及扩展开发系统,XDS,(,eXtended,Development System,)等,调试器接口(,C/Assembly source debugger,),为嵌入式系统的开发提供了丰富的功能和灵活性。该调试器是下面要讨论的软仿真器、评估模块、在线仿真器等的标准接口。,该调试器可以运行在,PC,或,SPARC(,上位工作站)等平台上,对用,C,或汇编语言写的程序提供完全的控制。其代码分析功能能通过快速确认最费时的程序段,提示应该将开发时间集中在什么地方。,TMS320 debugger,界面,TMS320 debugger,界面,数据显示窗口,DEBUGGER,的性能,支持多操作,增强并行处理能力(多处理器、断点、单步),对,C,代码和汇编代码单独调试或同时调试,灵活配置窗口界面,灵活的命令输入方式(鼠标、功能键、下拉菜单、批处理文件),全屏编辑,连续更新,代码分析器(,CODE PROFILE,),分别或同时分析,C,代码和汇编代码,对全局变量、模块、函数可以在各种层次上建立代码分析区域,广泛的统计功能,向用户提供代码中瓶颈问题的各种信息(代码的总执行时间、调用子程序的时间等),软仿真器(,Simulator,),TMS320,软件仿真器是一个软件程序,使用主机的处理器和存储器来仿真,TMS320,的微处理器和微计算机模式,从而进行软件开发和非实时的程序验证。在,PC,机上,典型的仿真速度为每秒几百条指令。,软仿真器的性能,在主机上执行用户的,DSP,程序,修改和检查寄存器,显示和修改数据及程序存储器,外设、,cache,、,pipeline,的时序仿真,产生中断,对非法操作码和无效数据输入等提供出错信息,执行批处理文件中的命令,文件方式快速存储和调用仿真参数,反汇编,周期计数并显示,DSP,入门套件(,DSK,,,DSP Starter Kit,),为初学者设计和生产的,DSK,是一种用以评价,DSP,平台的廉价的开发工具。在,PC,机的,DOS,或,Windows,下,用户可以使用,DSK,来做,DSP,的实验,进行诸如控制系统、语音处理等应用;也可以用来编写和运行实时源代码,并对其做评估;还可以用来调试用户自己的系统。,TMS320C5x DSK,TMS320C5x DSK,评估模块(,EVM,,,Evaluation Module,),TMS320,的评估模块(,EVM,)是廉价的开发板,用于器件评估、标准程序检查、以及有限的系统调试。,EVM,是一个,PC,插件,包括目标处理器,一个小容量的存储器和有限的外事。,EVM,可以用来试试运行代码,并与外部系统接口。,TMS320 EVM,TMS320C62 EVM,TMS320C40 PPDS,TMS320,硬件仿真器(,Emulators),扩展开发系统(,XDS,,,extended development system,)是功能强大的全速仿真器,用以做系统的的集成与调试。,扫描式的仿真(,Scan-Based Emulator,)是一种独特的、非插入式的系统仿真、集成、调试的方法。使用这种方法,程序可以从片内或片外的目标存储器实时执行,在任何时钟速度下都不会引入额外的等待状态。,TMS320,边界扫描式仿真器,集成化的,DSP,开发环境,CCS(CODE COMPOSER STUDIO),为,TI,的,C2000,,,C5000,和,C6000,而设计,将编辑、调试、项目管理、分析和探测集成在一个环境里,代码生成器(,C,编译器、汇编器与连接器)、,指令集仿真器,实时的基础软件(,DSP/BIOS,),CCS,主机和目标机之间的实时数据交换(,RTDX,),实时分析和数据可视化,目前可以用于各种操作系统,CCS,Document windows,Docking windows,集成开发环境的结构,实时数据交换(,RTDX,),从探测点注入和提取信号,多目标调试,eXpress,DSP,实时软件技术,eXpress,DSP,实时软件技术,使,DSP,产品的开发过程得以简化和统一,为,OEM,厂商提供可重复使用的软件组成部分,大大缩短产品的开发时间,可以达到,50%,以上,eXpress,DSP,实时软件技术,Code Composer Studio,Code Composer Studio,开放的、具有强大集成能力的开发环境,由先进开发工具组成的直观的系统,可以大大缩短,DSP,的编程时间,高级的编码工具,可提供第三方工具接入开放式结构,开发人员可以采用特定的工具自定义环境,满足特殊的设计需要,DSP/BIOS,一个广泛的、可以升级的软件基础,提供,DSP,应用所必需的基本的运行时间系统服务和集成化支持,DSP,算法接口标准,DSP,算法接口标准,以公用性为基础的通用软件,它是一套编码协定和应用编程接口(,API,),该算法可以由创造者编写,然后被其他系统集成人员广泛采用,DSP Third-Party Network,目前已有越来越多的厂商采纳,eXpressDSP,实时软件技术,编写标准化的软件,随着越来越多应用产品厂商的参与,基于,C2000,、,C5000,、,C6000,系列的,DSP,算法库和程序库也就越来越丰富。,DSP,的操作系统,对于简单的,DSP,任务,用前面介绍的开发工具已能满足开发任务的需要,往往不需要操作系统就可以进行。但当,DSP,的任务增加和任务的复杂性提高,例如对实时性要求很高的多,DSP,并行操作的多任务系统,可能就需要某种操作系统来管理系统的资源,安排多任务的执行和任务间的信息交换等。,
展开阅读全文