ImageVerifierCode 换一换
格式:PPT , 页数:88 ,大小:1.42MB ,
文档编号:4985078      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4985078.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

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

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(DSP原理与应用汇编语言程序开发工具课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

DSP原理与应用汇编语言程序开发工具课件.ppt

1、DSP原理与应用汇编语言程序开发工具DSP原理及应用26.6.1 1 TMS320C54xTMS320C54x软件开发过程软件开发过程 DSP原理及应用36.6.1 1 TMS320C54xTMS320C54x软件开发过程软件开发过程 C54xC54x应用软件开发流程应用软件开发流程C C源文件源文件C C编译器编译器汇编汇编源文件源文件汇编器汇编器汇编汇编源文件源文件COFFCOFF目标目标文件文件链接器链接器可执行的可执行的COFFCOFF文件文件宏宏源文件源文件存档存档器器宏库宏库存档器存档器目标目标文件库文件库建库工具建库工具运行时运行时支持库支持库EPROMEPROM编程器编程器交叉

2、引用交叉引用列表器列表器调试工具调试工具TMS320C54xTMS320C54x绝对地址绝对地址列表器列表器HEXHEX代码代码转换工具转换工具DSP原理及应用42.2.C54xC54x的开发工具的开发工具 TITI公司提供的公司提供的DSPDSP开发环境和工具主要包括以下开发环境和工具主要包括以下三个部分:三个部分:代码生成工具代码生成工具 代码调试工具代码调试工具 实时操作系统实时操作系统DSP原理及应用5C54xC54x的开发工具的开发工具(1)(1)代码生成工具:代码生成工具:C C编译器编译器 汇编器汇编器 链接器链接器 文档管理器文档管理器 建库实用程序建库实用程序 十六进制转换程

3、序十六进制转换程序DSP原理及应用6C54xC54x的开发工具的开发工具(2)(2)代码调试工具:代码调试工具:C/C/汇编语言源码调试器:汇编语言源码调试器:与软件仿真器、评与软件仿真器、评价模块、软件开发系统、软件仿真器等配合使用。价模块、软件开发系统、软件仿真器等配合使用。软件仿真器:软件仿真器:是一种模拟是一种模拟DSPDSP芯片各种功能并芯片各种功能并在非实时条件下进行软件调试的调试工具,它不需在非实时条件下进行软件调试的调试工具,它不需目标硬件支持,只需在计算机上运行。目标硬件支持,只需在计算机上运行。初学者工具初学者工具DSKDSK:是是TITI公司提供给初学者进行公司提供给初学

4、者进行DSPDSP编程练习的一套廉价的实时软件调试工具。编程练习的一套廉价的实时软件调试工具。DSP原理及应用7DSK(DSP Starter Kitm)DSP原理及应用8C5402 DSK 实物图实物图DSP原理及应用9C54xC54x的开发工具的开发工具(2)(2)代码调试工具:代码调试工具:可扩展的开发系统仿真器可扩展的开发系统仿真器(XDS510)XDS510):可用来可用来进行系统级的集成调试,是进行进行系统级的集成调试,是进行DSPDSP芯片软硬件开发芯片软硬件开发的最佳工具。的最佳工具。评价模块评价模块EVMEVM板:板:是一种低成本的开发板,可是一种低成本的开发板,可进行进行D

5、SPDSP芯片评价、性能评估和有限的系统调试。芯片评价、性能评估和有限的系统调试。DSP原理及应用106.6.2 2 汇编语言程序的编辑、汇编和链接过汇编语言程序的编辑、汇编和链接过程程 示意图示意图汇编器汇编器调试程序调试程序链接器链接器文本编辑器文本编辑器.asm源文件源文件.obj目标文件目标文件.out输出文件输出文件.cmd链接命链接命令文件令文件.lst列表文件列表文件.map存储器存储器映像文件映像文件十六进制十六进制转换程序转换程序HEX500-o-m-lDSP原理及应用116.6.2 2 汇编语言程序的编辑、汇编和链接过汇编语言程序的编辑、汇编和链接过程程 汇编语言源程序以汇

6、编语言源程序以.asm为其扩展名为其扩展名汇编语言源程序的每一行都可以由四个部分组成,语汇编语言源程序的每一行都可以由四个部分组成,语法如下:法如下:标号标号:助记符助记符操作数操作数;注释注释1.1.编辑编辑 DSP原理及应用122.2.汇编汇编 常用的汇编命令:常用的汇编命令:asm500%1 s 1 x 调用汇编器命令调用汇编器命令 源文件名源文件名 将程序所有定义的符号放将程序所有定义的符号放在目标文件的符号表中在目标文件的符号表中 生成一个生成一个列表文件列表文件.lstlst 生成一个生成一个交叉汇编表交叉汇编表 DSP原理及应用136.6.2 2 汇编语言程序的编辑、汇编和链接过

7、汇编语言程序的编辑、汇编和链接过程程 3.3.链接链接 常用的汇编器命令:常用的汇编器命令:lnk500%1.cmd lnk500:lnk500:调用链接器命令调用链接器命令%1.cmd:%1.cmd:链接命令文件名,该文件须链接命令文件名,该文件须指明指明目标文件、目标文件、输入文件、输出文件、输入文件、输出文件、链接选项和存储器配置要求等。链接选项和存储器配置要求等。DSP原理及应用146.6.3 3 COFFCOFF的一般概念的一般概念 汇编器和链接器生成的目标文件,是一个可以汇编器和链接器生成的目标文件,是一个可以由由C54xC54x器件执行的文件。这些目标文件的格式称器件执行的文件。

8、这些目标文件的格式称之为公共目标文件格式之为公共目标文件格式(COFF)COFF)。File Header Optional Header Section Header 1.Section Header n Section Data Relocation Directives Line Numbers Symbol Table String Table DSP原理及应用156.6.3 3 COFFCOFF的一般概念的一般概念 6.3.16.3.1 COFFCOFF文件的基本单元文件的基本单元 COFFCOFF文件有文件有3 3种类型:种类型:COFF0COFF0、COFF1COFF1、COFF

9、2COFF2。链接器能够读链接器能够读/写所有类型的写所有类型的COFFCOFF文件,默认时文件,默认时链接器生成的是链接器生成的是COFF2COFF2文件,采用文件,采用-vnvn链接选项可以选链接选项可以选择不同类型的择不同类型的COFFCOFF文件。文件。DSP原理及应用166.3.16.3.1 COFFCOFF文件的基本单元文件的基本单元 1.1.段段(sections)sections)段段是存储器中占据相邻空间的代码或数据块。是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的和各不相同的。一个目标文件中的每个段都是分开的和各不相同的。COFFCOFF目标文件都包

10、含以下目标文件都包含以下3 3种形式的段:种形式的段:.texttext 段段(文本段文本段).datadata 段段(数据段数据段).bss .bss 段段(保留空间段保留空间段)DSP原理及应用176.3.16.3.1 COFFCOFF文件的基本单元文件的基本单元 2.2.段的基本类型段的基本类型 COFFCOFF目标文件中的段有两种基本类型。目标文件中的段有两种基本类型。初始化段初始化段 未未初始化段初始化段(1)(1)初始化段初始化段初始化段中包含有数据或程序代码。主要有:初始化段中包含有数据或程序代码。主要有:.texttext段段已初始化段;已初始化段;.datadata段段已初始

11、化段;已初始化段;.sectsect段段已初始化段,由汇编器伪指令建立已初始化段,由汇编器伪指令建立 的自定义段。的自定义段。DSP原理及应用186.3.16.3.1 COFFCOFF文件的基本单元文件的基本单元 2.2.段的基本类型段的基本类型 COFFCOFF目标文件中的段有两种基本类型。目标文件中的段有两种基本类型。(2)(2)未初始化段未初始化段 在存储空间中,为未初始化数据保留存储空间。在存储空间中,为未初始化数据保留存储空间。它包括:它包括:.bss段段未初始化段;未初始化段;.usect段段未初始化段,由汇编命令建立的命未初始化段,由汇编命令建立的命 名段(自定义段)。名段(自定

12、义段)。DSP原理及应用196.3.16.3.1 COFFCOFF文件的基本单元文件的基本单元 3.3.段与目标存储器的对应关系段与目标存储器的对应关系 汇编器的任务:汇编器的任务:在汇编过程中,根据汇编命令用在汇编过程中,根据汇编命令用适当的段将各部分程序代码和数据连在一起,构成目适当的段将各部分程序代码和数据连在一起,构成目标文件。标文件。链接器的任务:链接器的任务:就是分配存储单元,将目标文件就是分配存储单元,将目标文件中的段重新定位到目标系统的存储器中,这一过程称中的段重新定位到目标系统的存储器中,这一过程称为定位或分配为定位或分配。DSP原理及应用203.3.段与目标存储器的对应关系

13、段与目标存储器的对应关系目标文件中的段与目标存储器之间的关系目标文件中的段与目标存储器之间的关系 目标文件目标文件目标存储器目标存储器.bss.data.textRAME2PROMROMDSP原理及应用216.3.26.3.2 汇编器对段的处理汇编器对段的处理 汇编器有汇编器有5 5条伪指令可识别汇编语言程序的各个条伪指令可识别汇编语言程序的各个部分:部分:DSP原理及应用226.3.26.3.2 汇编器对段的处理汇编器对段的处理 未初始化段就是在未初始化段就是在C54xC54x存储器中保留空间,存储器中保留空间,通常它们被定位在通常它们被定位在RAMRAM区。在目标文件中,这些段中区。在目标

14、文件中,这些段中没有确切的内容。没有确切的内容。由这些段定义的空间仅作为临时存储空间,在由这些段定义的空间仅作为临时存储空间,在程序运行时,可以利用这些存储空间存放变量。程序运行时,可以利用这些存储空间存放变量。未初始化段分为默认的和命名的两种,分别由未初始化段分为默认的和命名的两种,分别由汇编器伪指令汇编器伪指令.bssbss和和.usectusect产生。产生。1.1.未初始化段未初始化段 DSP原理及应用23(1)(1).bssbss伪指令伪指令1.1.未初始化段未初始化段 用于用于在在bssbss段中保留若干个空间。段中保留若干个空间。格式:格式:.bss 符号,符号,字数字数.bss

15、 x,1.bss buffer,10DSP原理及应用241.1.未初始化段未初始化段 (2)(2).usectusect伪指令伪指令用于为指定的命名段保留若干个空间用于为指定的命名段保留若干个空间。格式:格式:符号符号 .usect “段名段名”,字数字数DSP原理及应用256.3.26.3.2 汇编器对段的处理汇编器对段的处理 2.2.已初始化段已初始化段 DSP原理及应用26已初始化命令的句法:已初始化命令的句法:2.2.已初始化段已初始化段 .text 段起点段起点 .data 段起点段起点 .sect “段名段名”,段起点段起点 DSP原理及应用276.3.26.3.2 汇编器对段的处

16、理汇编器对段的处理 命名段由用户指定,与默认的命名段由用户指定,与默认的.texttext,.datadata和和.bssbss段的使用相同,但它们被分开汇编。段的使用相同,但它们被分开汇编。3.3.命名段(自定义段)命名段(自定义段)DSP原理及应用28.usectusect伪指令产生类似伪指令产生类似.bssbss的段,为变量在的段,为变量在RAMRAM中保留存储空间。中保留存储空间。.sectsect伪指令产生类似伪指令产生类似.texttext和和.datadata的段,可以的段,可以包含代码或数据。包含代码或数据。.sectsect伪指令产生可重新定位地址伪指令产生可重新定位地址的命

17、名段。的命名段。3.3.命名段命名段 产生命名段伪指令格式:产生命名段伪指令格式:符号符号 .usect “段名段名”,字数,字数 .sect “段名段名”DSP原理及应用296.3.26.3.2 汇编器对段的处理汇编器对段的处理 汇编器为每个段都安排了一个单独的程序计数器汇编器为每个段都安排了一个单独的程序计数器称之为段程序计数器称之为段程序计数器SPCSPC。链接器在链接时要对每个段进行重新定位。链接器在链接时要对每个段进行重新定位。4.4.段程序计数器段程序计数器SPC SPC DSP原理及应用30【例例6.3.1】段命令应用举例。段命令应用举例。汇编语言源程序:汇编语言源程序:.dat

18、adatacoeff .word 044h,055h,066hcoeff .word 044h,055h,066h .bss bufferbss buffer,8 8 prt .word 0456hprt .word 0456h .texttextaddadd:LD 0Dh LD 0Dh,A A aloopaloop:SUB#1SUB#1,A A BC aloopBC aloop,AGEQAGEQ .datadataivals .word 0CChivals .word 0CCh,0DDh0DDh,0EEh0EEh;初始化数据段初始化数据段 ;3 3组数据放入组数据放入.datadata段段

19、;在在.bssbss段保留段保留8 8个单元个单元 ;0456h0456h放入放入.datadata段段 ;初始化文本段初始化文本段 ;1 1字指令字指令 ;2 2字指令字指令 ;2 2字指令字指令共计共计5 5个字个字;初始化数据段初始化数据段 ;3 3组数据放入组数据放入.datadata段段DSP原理及应用31var2 .usect var2 .usect“newvarsnewvars”,2 2 inbuf .usect inbuf .usect“newvarsnewvars”,8 8 .text.text mpympy:LD 0Ah LD 0Ah,B B mloopmloop:MPY#

20、0Ah MPY#0Ah,B B BC mloop BC mloop,BNOVBNOV .sect .sect“vectorsvectors”.word 044h .word 044h,088h 088h ;建立建立newvarsnewvars命名段命名段,保留保留2 2个单元个单元 ;在在newvarsnewvars段保留段保留8 8个单元个单元 ;初始化文本段初始化文本段 ;1 1字指令字指令 ;2 2字指令字指令 ;2 2字指令字指令共计共计5 5个字个字;建立建立vectorsvectors命名段命名段 ;2;2组数据放入组数据放入vectorsvectors命名段命名段DSP原理及应用

21、32经汇编后,得列表文件(部分):经汇编后,得列表文件(部分):2 *3 *汇编一个初始化表到.data段 *4 *5 0000 .data6 0000 0044 coeff .word 044h,055h,066h 0001 0055 0002 00667 *8 *在.bss段中为变量保留空间 *9 *10 0000 .bss buffer,811 *12 *仍然在.data 段中 *13 *14 0003 0456 prt .word 0456hDSP原理及应用3315 *16 *汇编代码到.text段 *17 *18 0000 .text19 0000 100d add:LD 0Dh,A

22、20 0001 f010 aloop:SUB#1,A 0002 0001 21 0003 f842 BC aloop,AGEQ 0004 0001 22 *23 *汇编另一个初始化表到.data 段*24 *25 0004 .data 26 0004 00cc ivals .word 0CCh,0DDh,0EEh 0005 00dd 0006 00ee27 *28 *为更多的变量定义另一个段 *29 *30 0000 var2 .usect “newvars”,2 31 0001 inbuf .usect “newvars”,8 DSP原理及应用3432 *33 *汇编更多代码到.text段

23、*34 *35 0005 .text 36 0005 110a mpy:LD 0Ah,B 37 0006 f166 mloop MPY#0Ah,B 0007 000a 38 0008 f868 BC mloop,BNOV 0009 0006 39 *40 *为中断向量.vectors定义一个自定义段*41 *42 0000 .sect “vectors”43 0000 0044 .word 044h,088h 0001 0088 DSP原理及应用35汇编语言源程序经过汇编后,共建立了汇编语言源程序经过汇编后,共建立了5 5个段:个段:.text.text段段文本段,段内有文本段,段内有1010

24、个字可执行个字可执行 的程序代码。的程序代码。.datadata段段已初始化的数据段,段内有已初始化的数据段,段内有7 7 个字的数据。个字的数据。vectorsvectors段段用用.sectsect命令生成的命名段命令生成的命名段,段内有段内有2 2个字的初始化数据。个字的初始化数据。.bssbss段段未初始化的数据段,未初始化的数据段,在存储器中在存储器中 为变量保留为变量保留8 8个存储单元。个存储单元。newvarsnewvars段段用用.usectusect命令建立的命名段命令建立的命名段,为变量保留为变量保留1010个存储单元。个存储单元。DSP原理及应用36经汇编后,得列表文件

25、(部分):经汇编后,得列表文件(部分):2 *3 *汇编一个初始化表到.data段*4 *5 0000 .data6 0000 0044 coeff .word 044h,055h,066h 0001 0055 0002 00667 *8 *在.bss段中为变量保留空间*9 *10 0000 .bss buffer,811 *12 *仍然在.data 段中 *13 *14 0003 0456 prt .word 0456h行号行号 目标代码目标代码 段名段名100100d df010f01000010001f842f84200010001110a110af166f166000a000aF868

26、F86800060006004400440055005500660066045604560000cccc00dd00dd00ee00ee0044004400880088 没有数据没有数据保留保留1010个字个字5 0000 .data6 0000 0044 coeff .word 044h,055h,066h10 0000 .bss buffer,814 0003 0456 prt .word 0456hdatadata 6 66 66 6没有数据没有数据保留保留8 8个字个字1414DSP原理及应用3715 *16 *汇编代码到.text段 *17 *18 0000 .text19 0000

27、 100d add:LD 0Dh,A20 0001 f010 aloop:SUB#1,A 0002 0001 21 0003 f842 BC aloop,AGEQ 0004 0001 22 *23 *汇编另一个初始化表到.data 段*24 *25 0004 .data 26 0004 00cc ivals .word 0CCh,0DDh,0EEh 0005 00dd 0006 00ee27 *28 *为更多的变量定义另一个段 *29 *30 0000 var2 .usect “newvars”,2 31 0001 inbuf .usect “newvars”,8 行号行号 目标代码目标代码

28、段名段名100100d df010f01000010001f842f84200010001110a110af166f166000a000aF868F86800060006004400440055005500660066045604560000cccc00dd00dd00ee00ee0044004400880088 没有数据没有数据保留保留8 8个字个字没有数据没有数据保留保留1010个字个字18 0000 .text19 0000 100d add:LD 0Dh,A100d100d20 0001 f010 aloop:SUB#1,Af010f0100001000121 0003 f842 BC

29、 aloop,AGEQf842f8420001000125 0004 .data26 0004 00cc ivals .word 0CCh,0DDh,0EEh00cc00cc00dd00dd00ee00ee30 0000 var2 .usect “newvars”,2保留保留2 2个字个字31 0001 inbuf .usect “newvars”,8保留保留8 8个字个字DSP原理及应用3832 *33 *汇编更多代码到.text段 *34 *35 0005 .text 36 0005 110a mpy:LD 0Ah,B 37 0006 f166 mloop MPY#0Ah,B 0007 0

30、00a 38 0008 f868 BC mloop,BNOV 0009 0006 39 *40 *为中断向量.vectors定义一个自定义段*41 *42 0000 .sect “vectors”43 0000 0044 .word 044h,088h 0001 0088 行号行号 目标代码目标代码 段名段名100100d df010f01000010001f842f842110a110af166f166000a000aF868F86800060006004400440055005500660066045604560000cccc00dd00dd00ee00ee0044004400880088

31、 没有数据没有数据保留保留8 8个字个字没有数据没有数据保留保留1010个字个字35 0005 .text36 0005 110a mpy:LD 0Ah,B 110a110a37 0006 f166 mloop MPY#0Ah,Bf168f168000a000a38 0008 f868 BC mloop,BNOVf868f8680006000642 0000 .sect “vectors”43 0000 0044 .word 044h,088h0044004400880088DSP原理及应用396.3.36.3.3 链接器对段的处理链接器对段的处理 链接器是开发链接器是开发C54xC54x器件

32、必不可少的开发工具器件必不可少的开发工具之一,它对段处理时有之一,它对段处理时有2 2个主要任务:个主要任务:将一个或多个将一个或多个COFFCOFF目标文件中的各种段作为目标文件中的各种段作为链接器的输入段,经链接后在一个执行的链接器的输入段,经链接后在一个执行的COFFCOFF输出输出模块中建立各个输出段;模块中建立各个输出段;在程序装入时对其重新定位,为各个输出段在程序装入时对其重新定位,为各个输出段选定存储器地址。选定存储器地址。DSP原理及应用406.3.36.3.3 链接器对段的处理链接器对段的处理 链接器有链接器有2 2条伪指令支持上述任务:条伪指令支持上述任务:MEMORYME

33、MORY伪指令伪指令 SECTIONSSECTIONS伪指令伪指令DSP原理及应用416.3.36.3.3 链接器对段的处理链接器对段的处理 默认的存储器分配默认的存储器分配 将所有将所有.texttext段组合在一起,形成一个段组合在一起,形成一个.texttext段,并分配到程序存储器中;段,并分配到程序存储器中;将多个目标文件中的将多个目标文件中的.datadata段组合在一起,段组合在一起,分配到紧接着分配到紧接着.texttext段的程序存储空间中;段的程序存储空间中;将将.bssbss段组合,配置到数据存储器中;段组合,配置到数据存储器中;组合命名段。初始化的命名段按顺序分配到组合

34、命名段。初始化的命名段按顺序分配到紧随紧随.datadata段的程序存储器,而未初始化命名段将被段的程序存储器,而未初始化命名段将被配置到紧随配置到紧随.bssbss段的数据存储器中。段的数据存储器中。DSP原理及应用42 默认的存储器分配过程:默认的存储器分配过程:.text1.data1.bss1table_1(初始化的命名段初始化的命名段)u_vars1(未初始化的命名段未初始化的命名段).text2.data2.bss2table_2(初始化的命名段初始化的命名段)u_vars2(未初始化的命名段未初始化的命名段)FFT(初始化的命名段初始化的命名段).text1.text2.data

35、1.data2.bss1.bss2table_1table_2u_vars1u_vars2FFT没有使用没有使用没有配置没有配置没有配置没有配置没有使用没有使用DSP原理及应用436.3.46.3.4 链接器对程序的重新定位链接器对程序的重新定位 1.1.链接器重新定位链接器重新定位 重新定位的方法:重新定位的方法:将各个段配置到存储器中,使每个段都有一个将各个段配置到存储器中,使每个段都有一个 合适的起始地址;合适的起始地址;将符号变量调整到相对于新的段地址的位置;将符号变量调整到相对于新的段地址的位置;将引用调整到重新定位后的符号,这些符号将引用调整到重新定位后的符号,这些符号 反映了调整

36、后的新符号值。反映了调整后的新符号值。DSP原理及应用446.3.46.3.4 链接器对程序的重新定位链接器对程序的重新定位 2.2.运行时间重新定位运行时间重新定位 利用利用SECTIONSSECTIONS伪指令选项可让链接器对其定位伪指令选项可让链接器对其定位2 2次,其方法:次,其方法:使用运行关键字设置它的运行地址;使用运行关键字设置它的运行地址;使用装入关键字设置装入地址。使用装入关键字设置装入地址。DSP原理及应用456.3.56.3.5 程序装入程序装入 可以采用以下方法装入程序:可以采用以下方法装入程序:使用调试工具转入程序使用调试工具转入程序 C54xC54x的调试工具包括软

37、件模拟器,的调试工具包括软件模拟器,XDSXDS仿真器仿真器和集成系统和集成系统CCSCCS。它们都具有内部的装入器,调用装它们都具有内部的装入器,调用装入器的入器的LOADLOAD命令,装入器将程序复制到目标系统的命令,装入器将程序复制到目标系统的存储器中。存储器中。采用采用HexHex转换工具转入程序转换工具转入程序 可以使用转换工具可以使用转换工具Hex500Hex500,将可执行将可执行COFFCOFF目标目标模块转换成几种其他目标格式文件,然后将转换后模块转换成几种其他目标格式文件,然后将转换后的文件通过编程器将程序装(烧)进的文件通过编程器将程序装(烧)进EPROMEPROM。DS

38、P原理及应用466.3.66.3.6 COFFCOFF文件中的符号文件中的符号 是指在一个模块中定义、而在另一个模块中引是指在一个模块中定义、而在另一个模块中引用的符号。它可以用伪指令用的符号。它可以用伪指令.defdef、.refref或或.globalglobal来来定义。定义。.defdef在当前模块中定义,并可在别的模块中在当前模块中定义,并可在别的模块中使用的符号;使用的符号;.ref ref 在当前模块中使用,但在别的模块中定在当前模块中使用,但在别的模块中定义的符号;义的符号;.globalglobal可以是上面的任何一种情况。可以是上面的任何一种情况。DSP原理及应用471.1

39、.外部符号外部符号【例【例6.6.3.3.2 2】说明代码段中外部符号的定义。说明代码段中外部符号的定义。x x:ADD#56h ADD#56h,A A B y B y .def x .def x .ref yref y DSP原理及应用486.3.66.3.6 COFFCOFF文件中的符号文件中的符号 2.2.符号表符号表 每当遇到一个外部符号,无论是定义的还是引每当遇到一个外部符号,无论是定义的还是引用的,汇编器都将在符号表中产生一个条目。用的,汇编器都将在符号表中产生一个条目。汇编器还产生一个指到每段的专门符号,链接汇编器还产生一个指到每段的专门符号,链接器使用这些符号将其他引用符号重新

40、定位。器使用这些符号将其他引用符号重新定位。DSP原理及应用496.6.4 4 源程序的汇编源程序的汇编 汇编器包括如下功能:汇编器包括如下功能:将汇编语言源程序汇编成一个可重新定位的将汇编语言源程序汇编成一个可重新定位的目标文件目标文件(.(.objobj文件文件)。根据需要,可以生成一个列表文件根据需要,可以生成一个列表文件(.(.lstlst文文件件),并对该列表进行控制。,并对该列表进行控制。将程序代码分成若干个段,每个段的目标代将程序代码分成若干个段,每个段的目标代码都有一个码都有一个SPC(SPC(段程序计数器段程序计数器)管理。管理。DSP原理及应用506.6.4 4 源程序的汇

41、编源程序的汇编 汇编器包括如下功能:汇编器包括如下功能:定义和引用全局符号,如果需要可以在列表定义和引用全局符号,如果需要可以在列表文件后面附加一张交叉引用表。文件后面附加一张交叉引用表。对条件程序块进行汇编。对条件程序块进行汇编。支持宏功能,允许定义宏命令。支持宏功能,允许定义宏命令。为每个目标代码块设置一个程序计数器为每个目标代码块设置一个程序计数器SPCSPC。DSP原理及应用516.6.4 4 源程序的汇编源程序的汇编 6.4.16.4.1 汇编程序的运行汇编程序的运行 C54xC54x的汇编程序名为的汇编程序名为asm500asm500.exeexe。要运行汇要运行汇编程序,可键入如

42、下命令:编程序,可键入如下命令:object file 运行汇编程序运行汇编程序asmasm 500.exe500.exe的命令。的命令。input file 汇编源文件名,默认扩展名为汇编源文件名,默认扩展名为.asmasm。object file:汇编程序生成的汇编程序生成的C54xC54x目标文件,扩展名为目标文件,扩展名为.objobj。listing file汇编器产生的列表文件名,默认扩展名为汇编器产生的列表文件名,默认扩展名为.lstlst。-options汇编器的选项,为汇编器的使用提供各种选择。汇编器的选项,为汇编器的使用提供各种选择。DSP原理及应用52-filemane(

43、文件名文件名)可以将文件名的内容附加到命令行上。可以将文件名的内容附加到命令行上。使用该选项可以避免命令行长度的限制。如果在一个命令文件、使用该选项可以避免命令行长度的限制。如果在一个命令文件、文件名或选项参数中包含了嵌入的空格或连字号,则必须使用文件名或选项参数中包含了嵌入的空格或连字号,则必须使用 引号括起来,例如:引号括起来,例如:“this-file.asm”。-a 建立一个绝对列表文件。建立一个绝对列表文件。当选用当选用-a时,汇编器不产生目标文件时,汇编器不产生目标文件。-c 使汇编语言文件中大小写没有区别使汇编语言文件中大小写没有区别。-d 为名字符号设置初值。格式为为名字符号设

44、置初值。格式为-d name=value时,时,与汇编文件与汇编文件 被插入被插入name.set=value是等效的。是等效的。如果如果value被省略被省略,则此名字符号被置为,则此名字符号被置为1。-f 抑制汇编器给没有抑制汇编器给没有.asm扩展名的文件添加扩展名的默认行为。扩展名的文件添加扩展名的默认行为。DSP原理及应用53-g 允许汇编器在源代码中进行代码调试。汇编语言源文件允许汇编器在源代码中进行代码调试。汇编语言源文件 中每行的信息输出到中每行的信息输出到COFF文件中。文件中。注意:用户不能对已经包含注意:用户不能对已经包含.line伪指令的汇编代码使用伪指令的汇编代码使用

45、-g 选项。例如由选项。例如由C/C+编译器运行编译器运行-g选项产生的代码选项产生的代码。-h,-help,-?这些选项的任一个将显示可供使用的汇编器选项的清单。这些选项的任一个将显示可供使用的汇编器选项的清单。-hc 将选定的文件复制到汇编模块。格式为将选定的文件复制到汇编模块。格式为-hc filename 所选定的文件包含到源文件语句的前面,复制的文件将所选定的文件包含到源文件语句的前面,复制的文件将 出现在汇编列表文件中。出现在汇编列表文件中。-hi 将选定的文件包含到汇编模块。格式为将选定的文件包含到汇编模块。格式为-hi filename 所选定的文件包含到源文件语句的前面,所包

46、含的文件所选定的文件包含到源文件语句的前面,所包含的文件 不出现在汇编列表文件中。不出现在汇编列表文件中。DSP原理及应用54-i 规定一个目录。汇编器可以在这个目录下找到规定一个目录。汇编器可以在这个目录下找到.copy、.include或或.mlib命令所命名的文件。命令所命名的文件。格式为格式为-i pathname,最多可规定最多可规定10个目录,每一条路径个目录,每一条路径 名的前面都必须加上名的前面都必须加上-i选项。选项。-l (小写(小写L)生成一个列表文件。生成一个列表文件。-mf 指定汇编调用扩展寻址方式指定汇编调用扩展寻址方式-mg 源文件是代数式指令。源文件是代数式指令

47、。-q 抑制汇编的标题以及所有的进展信息。抑制汇编的标题以及所有的进展信息。-r,-rnum 压缩汇编器由压缩汇编器由num标识的标志。该标志是报告给汇编器标识的标志。该标志是报告给汇编器 的消息,这种消息不如警告严重。若不对的消息,这种消息不如警告严重。若不对num指定值,指定值,则所有标志都将被压缩。则所有标志都将被压缩。DSP原理及应用55-pw 对某些汇编代码的流水线冲突发出警告。对某些汇编代码的流水线冲突发出警告。-u -u name取消预先定义的常数名,从而不考虑由任何取消预先定义的常数名,从而不考虑由任何-d 选项所指定的常数。选项所指定的常数。-v -v value确定使用的处

48、理器,可用确定使用的处理器,可用541,542,543,545,5451p,5461p,548,549值中的一个。值中的一个。-s 把所有定义的符号放进目标文件的符号表中。把所有定义的符号放进目标文件的符号表中。汇编程序通常只将全局符号放进符号表。当利用汇编程序通常只将全局符号放进符号表。当利用-s选项时选项时,所定义的标号以及汇编时定义的常数也都放进符号表内。所定义的标号以及汇编时定义的常数也都放进符号表内。-x 产生一个交叉引用表,并将它附加到列表文件的最后,产生一个交叉引用表,并将它附加到列表文件的最后,还在目标文件上加上交叉引用信息。即使没有要求生成还在目标文件上加上交叉引用信息。即使

49、没有要求生成 列表文件,汇编程序总还是要建立列表文件的。列表文件,汇编程序总还是要建立列表文件的。DSP原理及应用566.4.26.4.2 汇编时的列表文件汇编时的列表文件 列表文件包括列表文件包括4 4个部分:个部分:源程序语句编号源程序语句编号 段程序计数器段程序计数器 目标代码目标代码 源程序语句源程序语句DSP原理及应用57目标代码后记符含义目标代码后记符含义!未定义的外部引用;未定义的外部引用;,可重新定位的文本段;可重新定位的文本段;”可重新定位的数据段;可重新定位的数据段;+可可重新定位的初始化命名段;重新定位的初始化命名段;-可重新定位的未初始化段;可重新定位的未初始化段;%复

50、杂的重新定位的表达式。复杂的重新定位的表达式。DSP原理及应用586.4.36.4.3 汇编伪指令汇编伪指令 将代码和数据汇编进指定的段将代码和数据汇编进指定的段 为未初始化的变量在存储器中保留空间为未初始化的变量在存储器中保留空间 控制清单文件是否产生控制清单文件是否产生 初始化存储器初始化存储器 汇编条件代码块汇编条件代码块 定义全局变量定义全局变量 为汇编器指定从中可以获得宏的库为汇编器指定从中可以获得宏的库 考察符号调试信息考察符号调试信息汇编器伪指令可完成以下工作:汇编器伪指令可完成以下工作:DSP原理及应用596.4.36.4.3 汇编伪指令汇编伪指令 对各种段进行定义的命令对各种

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|