第4章汇编语言程序的开发工具.ppt

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

第4章 汇编语言程序的开发工具 知识要点:本章介绍了TMS320C54x软件开发流程、汇编语言程序的编写、编译和链接过程,重点介绍了COFF段的一般概念、汇编器和链接器处理段的方法以及程序的重定位方法等。 4.1 TMS320C54x软件开发流程 ’C54x的应用软件开发主要完成以下的工作: 首先是选择编程语言编写源程序。’C54x提供两种编程语言:汇编语言和C/C++语言。 当源程序编写好后,选择开发环境, ’C54x提供了两种开发环境。一种是非集成开发环境,如图4.1.1。另一种是集成开发环境,简称CCS。CCS在Windows操作系统下运行,它集成了非集成开发环境的所有功能,并扩展了许多其他的功能。在后面的章节中会有介绍。 如果源程序是C/C++语言,需调用’C54x的C编译器将其编译成汇编语言,并送入’C54x的汇编器进行汇编。对于用汇编语言编写的程序则直接送给汇编器进行汇编,汇编后产生COFF格式的目标文件,再用链接器进行链接,生成在’C54x可执行的COFF格式的目标代码,并利用调试工具对可执行的目标代码进行调试。 对’C54x应用程序的开发提供以下几个开发调试工具: ◇ C/汇编语言源码调试器与软件仿真器、评价模块、软件开发系统、软件模拟器等开发工具配合使用。 ◇ 软件仿真模拟器 ◇集成开发环境CCS ◇ DSK ◇ 软件开发系统SWDS ◇可扩展的开发系统仿真器(XDS510) ◇评价模块(EVM板) 4.2 汇编语言程序的编辑、 汇编和链接过程 汇编语言源程序可以在任何一种文本编辑器中进行。当汇编语言源程序完成后,还必须经过汇编和链接后才能进行。 下图给出了汇编语言程序的编辑、汇编和链接过程: ① 编辑 利用各种文本编辑器,如记事本、WORD、EDIT等,可编写汇编语言源程序。 ② 汇编 当汇编语言源程序编写好以后,可利用’C54x的汇编器ASM500,对一个或多个源程序进行汇编,生成.lst文件和.obj文件。 常用汇编命令为: asm500 %1 -s -l -x ③ 链接 链接就是利用’C54x的链接器LNK500,根据链接器命令文件(.cmd)对已汇编过的一个或多个目标文件(.obj)进行链接,生成存储器映像文件(.map)和输出文件(.out)。 常用链接命令为 lnk500 %1.cmd ④ 调试 对输出文件(.out)调试可以采用多种手段,现介绍如下: ◆软件仿真器进行调试 ◆硬件仿真器进行调试 ◆评价模块进行调试 ⑤ 固化用户程序 调试完成后,利用HEX500格式转换器对ROM编程,或对EPROM编程,最后安装到用户的的应用系统中。 4.3 COFF的一般概念 汇编器和链接器生成的目标文件,是一个可以由’C54x器件执行的文件。这些目标文件的格式称为公共目标文件格式(Common Object File Format, 缩写为COFF)。 COFF采用代码段和数据段的形式,因此便于模块化的编程。 4.3.1 COFF文件的基本单元 COFF文件有3种类型:COFF0、COFF1、COFF2。每种类型的COFF文件的标题格式都有所不同,但数据部分却是相同的。 段是COFF文件中最重要的概念。每个目标文件都分成若干段。 段是在存储器图中占据相邻空间的代码或数据块。 所有的COFF目标文件都包含以下3种形式段: ◆ .text段,通常包含可执行代码; ◆ .data段,通常包含初始化数据; ◆ .bss段,通常为未初始化变量保留存储空间。 此外,汇编器和链接器可以建立、命名和链接自定义段。这种自定义段是程序员自已定义的段,使用起来与.data、.text、及.bss段类似。它的好处是在目标文件中与.data、.text、及.bss分开汇编,链接时作为一个单独部分分配到存储器中。 COFF目标文件有以下两种基本类型的段。 ① 初始化段 初始化段中包含有数据或程序代码。包括: ◆ .text段是已初始化段; ◆ .data段是已初始化段; ◆ .sect汇编器伪指令建立的自定义段也是已初始化段。 ② 未初始化段 在存储空间中,它为未初始化数据保留存储空间。包括:

您可能关注的文档

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档