第4章汇编语言程序开发工具ppt课件_第1页
第4章汇编语言程序开发工具ppt课件_第2页
第4章汇编语言程序开发工具ppt课件_第3页
第4章汇编语言程序开发工具ppt课件_第4页
第4章汇编语言程序开发工具ppt课件_第5页
已阅读5页,还剩171页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、器和链接器处置段的方法以及程序的重定位器和链接器处置段的方法以及程序的重定位等。等。4.1 TMS320C54x4.1 TMS320C54x软件开发过程软件开发过程 4.2 4.2 汇编言语程序的编辑、汇编和链接过程汇编言语程序的编辑、汇编和链接过程 4.3 COFF4.3 COFF的普通概念的普通概念 4.4 4.4 源程序的汇编源程序的汇编4.5 4.5 链接器的运用链接器的运用。 C54x C54x运用软件的开发可在运用软件的开发可在TITI公司提供的开发环境中进公司提供的开发环境中进展展, ,用户可以用用户可以用C/C+C/C+言语或汇编言语编写源文件,经言语或汇编言语编写源文件,经C

2、 C编译器编译器、汇编器生成、汇编器生成COFFCOFF格式的目的文件,再用链接器进展链接,格式的目的文件,再用链接器进展链接,生成在生成在C54xC54x上可执行的目的代码,然后利用调试工具对可上可执行的目的代码,然后利用调试工具对可执行的目的代码进展仿真和调试。执行的目的代码进展仿真和调试。 当调试完成后,经过当调试完成后,经过HexHex代码转换工具,将调试后的可执代码转换工具,将调试后的可执行目的代码转换成行目的代码转换成EPROMEPROM编程器能接受的代码,并将该代码固编程器能接受的代码,并将该代码固化到化到EPROMEPROM中或加载到用户的运用系统中,以便中或加载到用户的运用系

3、统中,以便DSPDSP目的系统目的系统脱离计算机单独运转。脱离计算机单独运转。 开发过程的目的是产生一个可以由开发过程的目的是产生一个可以由C54xC54x目的系目的系统执行的模块。统执行的模块。C C源文件源文件C C编译器编译器汇编汇编源文件源文件汇编器汇编器汇编汇编源文件源文件COFFCOFF目的文件目的文件链接器链接器可执行的可执行的COFF文件文件宏源文件宏源文件存档器存档器宏库宏库存档器存档器目的目的文件库文件库建库工具建库工具运转时运转时支持库支持库EPROMEPROM编程器编程器交叉援用交叉援用列表器列表器调试工具调试工具TMS320C54xTMS320C54x绝对地址绝对地址

4、列表器列表器HEXHEX代码代码转换工具转换工具 TI TI公司提供的公司提供的DSPDSP开发环境和工具主要包括以下开发环境和工具主要包括以下三个部分:三个部分: 代码生成工具代码生成工具 代码调试工具代码调试工具 实时操作系统实时操作系统(1)(1)代码生成工具:代码生成工具: C C编译器:用来将编译器:用来将C/C+C/C+言语源程序自动编译为言语源程序自动编译为C54xC54x的汇编言语源程序。的汇编言语源程序。 汇编器:用来将汇编言语源文件汇编成机器言汇编器:用来将汇编言语源文件汇编成机器言语语COFFCOFF目的文件。目的文件。 链接器:将汇编生成的、可重新定位的链接器:将汇编生

5、成的、可重新定位的COFFCOFF目目的模块组合成一个可执行的的模块组合成一个可执行的COFFCOFF目的模块。目的模块。 文档管理器:允许用户将一组文件源文件或文档管理器:允许用户将一组文件源文件或目的文件集中为一个文档文件库。目的文件集中为一个文档文件库。 助记符指令助记符指令代数式指令翻译器:用来将包含代数式指令翻译器:用来将包含助记符指令的汇编言语源文件转换成包含代数式指助记符指令的汇编言语源文件转换成包含代数式指令的汇编言语源文件。令的汇编言语源文件。 建库适用程序:用来建立用户本人运用的、并建库适用程序:用来建立用户本人运用的、并用用C/C+C/C+言语编写的支持运转的库函数。言语

6、编写的支持运转的库函数。 十六进制转换程序:可以很方便地将十六进制转换程序:可以很方便地将COFFCOFF目的目的文件转换成文件转换成TITI、IntelIntel、MotorolaMotorola等公司的目的文件等公司的目的文件格式。格式。 (1)(1)代码生成工具:代码生成工具:(1)(1)代码生成工具:代码生成工具: 绝对制表程序:将链接后的目的文件作为输入绝对制表程序:将链接后的目的文件作为输入, ,生成生成.abs.abs输出文件。输出文件。 交叉援用制表程序:利用目的文件生成一个交交叉援用制表程序:利用目的文件生成一个交叉援用清单,列出链接的源文件中的符号以及它们的叉援用清单,列出

7、链接的源文件中的符号以及它们的定义和援用情况。定义和援用情况。 (2)(2)代码调试工具:代码调试工具: C/ C/汇编言语源码调试器:与软件仿真器、评汇编言语源码调试器:与软件仿真器、评价模块、软件开发系统、软件仿真器等配合运用。价模块、软件开发系统、软件仿真器等配合运用。 软件仿真器:是一种模拟软件仿真器:是一种模拟DSPDSP芯片各种功能并芯片各种功能并在非实时条件下进展软件调试的调试工具,它不需在非实时条件下进展软件调试的调试工具,它不需目的硬件支持,只需在计算机上运转。目的硬件支持,只需在计算机上运转。 初学者工具初学者工具DSKDSK:是:是TITI公司提供应初学者进展公司提供应初

8、学者进展DSPDSP编程练习的一套廉价的实时软件调试工具。编程练习的一套廉价的实时软件调试工具。 (2)(2)代码调试工具:代码调试工具: 软件开发系统软件开发系统SWDSSWDS:是一块:是一块PCPC插卡,可提供插卡,可提供低本钱的评价和实时软件开发,还可用来进展软件低本钱的评价和实时软件开发,还可用来进展软件调试,程序可在调试,程序可在DSPDSP芯片上实时运转。芯片上实时运转。 可扩展的开发系统仿真器可扩展的开发系统仿真器(XDS510)(XDS510):可用来:可用来进展系统级的集成调试,是进展进展系统级的集成调试,是进展DSPDSP芯片软硬件开发芯片软硬件开发的最正确工具。的最正确

9、工具。 评价模块评价模块EVMEVM板:是一种低本钱的开发板,可板:是一种低本钱的开发板,可进展进展DSPDSP芯片评价、性能评价和有限的系统调试。芯片评价、性能评价和有限的系统调试。 .asm源文件源文件.obj目的文件目的文件.out输出文件输出文件. cmd链接命链接命令文件令文件. lst列表文件列表文件. map存储器存储器映像文件映像文件- o- o- m- m- l- l常用的汇编命令:常用的汇编命令: asm500 %1 asm500 %1 s s 1 1 x x 常用的汇编器命令:常用的汇编器命令: lnk500 %1d lnk500 %1d lnk500: lnk500:

10、调用链接器命令调用链接器命令 %1d: %1d: 链接命令文件名,该文件须指明目的文件、链接命令文件名,该文件须指明目的文件、输入文件、输出文件、链接选项和存储器配置要求等。输入文件、输出文件、链接选项和存储器配置要求等。 目的文件目的文件目的存储器目的存储器.bss.data.textRAME2PROMROM合计合计5 5个字个字合计合计5 5个字个字源程序源程序的行号的行号 段程序段程序计数器计数器目的目的代码代码汇编言语汇编言语源程序源程序 newvars newvars段段用用.usect.usect命令建立的命名段命令建立的命名段, , 为变量保管为变量保管1010个存储单元。个存储

11、单元。7 0006 F7E0 Y7 0006 F7E0 Y: RESET RESET 1 0 11 0 10 0 1 0 0 10 0 1 0 0 11 0 0 0 01 0 0 0 00 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 00123h0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 10 0 0 0 0 0 0 1 0 0 1 0 0 0 1 14h0 1 0 00 1 0 00 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 00 0 0 1 0 0 1 0 0 0 1 1 0 1 0 00 0 0 1 0 0 1 0

12、 0 0 1 1 0 1 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 004hSPCSPCSPCSPCSPCSPCSPCSPCSPCSPCSPCSPCSPC11 000000 0000- ADD employid.fval,A 11 000000 0000- ADD employid.fval,A ;访问;访问unionunion成成员员标号标号任选项任选项宏指令名宏指令名位于操作码区位于操作码区 .bss : RAM .bss : RAM 。援用援用两个输入文件两个输入文件链接命令选项链接命令选项指令字指令字

13、页面称号页面称号区间称号区间称号起始地址起始地址区间长度区间长度/ /* *链接来自链接来自f3.objf3.obj文件中的一切段文件中的一切段* */ / f4.obj(.text,sec2) / f4.obj(.text,sec2) /* *链链接接f4.objf4.obj文件中的文件中的.text .text 段和段和sec2sec2段段* */ / t2.obj(.int2) t2.obj(.int2) endvec=.; endvec=.; .data: align=16 .data: align=16 两个输入文件两个输入文件链接命令选项链接命令选项指令字指令字输输出出段段说说明明

14、语语句句 endvec=.; endvec=.; .data: align=16 .data: align=16 输出段输出段加载地址加载地址 运转地址运转地址.textROMRAM 800h.conROM.bssRAM.vecROM FF80.dataRAM 16位边境位边境 endvec=.; endvec=.; .data: align=16 .data: align=16 输出段输出段加载地址加载地址 运转地址运转地址.textROMRAM 800h.conROM.bssRAM.vecROM FF80.dataRAM 16位边境位边境.text.con.bss.vec.data.tex

15、t.text.text .bss: PAGE=1 .bss: PAGE=1 table: .word 1,2,3,4 ; table: .word 1,2,3,4 ; 变量初始化变量初始化 .word 8,6,4,2 .word 8,6,4,2 .text .text MAC MAC * *AR3+,AR3+,* *AR4+,AAR4+,A STL A, y STL A, y RET RET .end .end :, RWIXRWIX VECS 0000FF80 000000004 VECS 0000FF80 000000004 RWIXRWIX PAGE 1: SPRAM 00000060

16、000000020 PAGE 1: SPRAM 00000060 000000020 RWIXRWIX DARAM 00000080 000000100 DARAM 00000080 000000100 RWIX RWIX vectors.obj(.text)vectors.obj(.text) 0000e000 00000016 0000e000 00000016 example.obj(.text) example.obj(.text) .data 0 0000e016 00000008 .data 0 0000e016 00000008 0000e016 00000000 0000e01

17、6 00000000 vectors.obj(.data)vectors.obj(.data) 0000e016 00000008 0000e016 00000008 example.obj(.data)example.obj(.data)example.obj(STACK)example.obj(STACK) .vectors 0 0000ff80 00000002 .vectors 0 0000ff80 00000002 0000ff80 00000002 0000ff80 00000002 vectors.obj(.vectors)vectors.obj(.vectors) .xref 0 00000000 0000008c COPY .xre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论