DSP原理与应用汇编语言程序开发工具课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DSP原理与应用汇编语言程序开发工具课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 原理 应用 汇编语言 程序 开发 工具 课件
- 资源描述:
-
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
展开阅读全文