DSP技术10(软件环境).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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程序的大小。 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 Liste

文档评论(0)

克拉钻 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档