第4章汇编语言程序的开发工具.ppt
文本预览下载声明
第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汇编器伪指令建立的自定义段也是已初始化段。 ② 未初始化段 在存储空间中,它为未初始化数据保留存储空间。包括:
显示全部