第5章DSP汇编程序设计与开发10.ppt
上传人:sy****28 上传时间:2024-09-15 格式:PPT 页数:36 大小:329KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第5章DSP汇编程序设计与开发10.ppt

第5章DSP汇编程序设计与开发10.ppt

预览

免费试读已结束,剩余 26 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《DSP技术与应用》第5章TMS320C54XXDSP汇编程序设计与开发汇编程序设计与开发包括程序设计与程序调试两大部分,本章将介绍如下内容:文本编辑器文本编辑器提供了一个设计输入平台,其作用是按照汇编语言相应的书写格式,应用DSP汇编指令、汇编伪指令及注释语句等编辑输入源程序代码。C54X的源程序可以使用汇编或C语言编写。使用汇编语言时可以采用助记符指令集(MnemonicInstructionSet),也可以采用代数指令集(AlgebraicInstructionSet),但两种不能混用。汇编程序语法格式汇编程序中的指令操作数多于一个时应由逗号分隔开。汇编程序中的指令操作数可以是一个表达式。表达式是一系列由算术操作符分开的操作数,一个操作数的表达式是其特例。3个主要因素决定表达式的计算顺序:括号内的表达式首先计算,例如:8/(4/2)=4,而8/4/2=1优先级高的表达式首先计算,例如:8+4*2=16,按从左到右的顺序计算表达式,例如:8/4*2=4,汇编程序中的操作数DSP程序开发工具代码生成工具:汇编器(输出COFF文件*.obj)链接器(输出可执行的COFF文件*.out)代码调试工具:软件仿真器(Simulator)硬件仿真器(XDS)集成开发环境(CCS)硬件评估模块(EVM)汇编器的主要作用有:一是将设计的源程序(.asm和.c文件)编译成目标机器代码;二是根据汇编伪指令将源程序代码划分为若干不同的段,并分类打包;三是使用汇编伪指令将源程序汇编成可重新定位的COFF(CommonObjectFileFormat)公共目标文件(.obj文件)。链接器的主要作用有:一是根据链接命令文件(.cmd)将一个或多个COFF目标文件链接起来,并映射到目标存储空间二是根据链接命令文件(.cmd)定义目标存储器的结构配置,并为各个不同段重新定义、分配存储空间地址。三是生成可执行的COFF输出文件(.out)。源程序COFF文件中的段COFF目标文件至少应包含以下3个默认标准段:(1)text文本段:包含可执行代码;(2)data数据段:包含已初始化的数据;(3)bss保留数据段:为没有初始化的变量保留存储空间。COFF中的自定义段段有两种基本类型:初始化段和未初始化段。初始化段包含可执行代码及初始化数据,如:text段、data段以及由汇编伪指令.sect产生的自定义段。初始化段存储在目标文件中,每个初始化段都可以重新定位,一般被分配在ROM中。定义初始化段的伪指令有3个:.text、.data和.sect“段名”。汇编过程中,遇到新的初始化段伪指令,汇编器将停止汇编当前段,并将接下来的代码汇编进新的指定段,直到出现下一个定义初始化段的伪指令。未初始化段为没有初始化的数据在目标存储器中保留存储空间。通常未初始化段为变量,被分配在RAM中作临时存储空间使用,没有实际内容,只是预留一些空间供程序运行过程中存放变量的值。未初始化段包括默认的bss段和由汇编伪指令.usect产生的自定义段。COFF中的符号分为标号、符号常数和替代符号。符号名可以是长达200个字符的字母(A—Z,a—z)、数字(0—9)、美元符号($)和下划线(_),用作Symbol、sectionname等。符号的第1个字符不能是数字,符号中间不能含有空格。符号区分大小写,并仅在定义它的汇编程序中有效,除非使用.global伪指令将它声明为全局符号。定义符号的伪指令有:(1).def:表示在当前模块中定义并在另一模块中使用;(2).ref:表示在当前模块中引用但在另一模块中定义;(3).global:包含了上述两种情况。程序在汇编、链接过程中如果找不到符号的定义,将会输出不能识别的错误信息,且不会产生可执行的目标文件。1)标号用作标号的符号在程序中表示地址,和所在程序的位置有关。在同一个文件中,局部标号必须是互不相同的。伪指令.global、.ref、.def或.bss可用来定义标号。2)符号常数符号也可被用来表示常数值,这样可用有意义的名称来代表一些重要的常数,提高程序的可读性。伪指令.set可用来定义符号常数(符号常数不能重复定义)。3)替代符号符号也可用字符或字符串来表示,这时符号将被替代为字符(变量),这种用来代表变量的符号称作替代符号。伪指令.asg可用来定义替代符号。常用汇编伪指令汇编伪指令汇编伪指令常用汇编伪命令一般格式汇编器在编译源程序时根据伪指令划分出各个段,并设定每段开始的地址(SPC)为0。汇编器能够将段名