第4章汇编语言程序的开发工具
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章汇编语言程序的开发工具
4.3.1 COFF文件的基本单元
COFF文件有3种类型:COFF0、 COFF1、COFF2。每种类型的COFF文件 的标题格式都有所不同,但数据部分却是 相同的。
段是COFF文件中最重要的概念。每个 目标文件都分成若干段。
段是在存储器图中占据相邻空间的代码 或数据块。
第4章汇编语言程序的开发工具
① 未初始化段
.bss和.usect命令生成未初始化段。未初始 化段就是’C54x存储器中的保留空间,通 常将它们定位到RAM区。在目标文件中, 这些段没有确切的内容;在程序运行时, 可以利用这些存储空间存放变量。
第4章汇编语言程序的开发工具
4.3 COFF的一般概念
汇编器和链接器生成的目标文件,是一 个可以由’C54x器件执行的文件。这些目 标文件的格式称为公共目标文件格式 (Common Object File Format, 缩写为 COFF)。
COFF采用代码段和数据段的形式,因 此便于模块化的编程。
第4章汇编语言程序的开发工具
第4章汇编语言程序的开发工具
如果源程序是C/C++语言,需调 用’C54x的C编译器将其编译成汇编语言, 并送入’C54x的汇编器进行汇编。对于用 汇编语言编写的程序则直接送给汇编器进 行汇编,汇编后产生COFF格式的目标文件, 再用链接器进行链接,生成在’C54x可执 行的COFF格式的目标代码,并利用调试工 具对可执行的目标代码进行调试。
第4章汇编语言程序的开发工具
对’CΒιβλιοθήκη Baidu4x应用程序的开发提供以下几个开发 调试工具:
◇ C/汇编语言源码调试器与软件仿真器、评价模 块、软件开发系统、软件模拟器等开发工具配合 使用。
◇ 软件仿真模拟器 ◇集成开发环境CCS
◇ DSK
◇ 软件开发系统SWDS
◇可扩展的开发系统仿真器(XDS510)
◇评价模块(EVM板)
’C54x的应用软件开发主要完成以下的工作: 首先是选择编程语言编写源程序。’C54x 提供两种编程语言:汇编语言和C/C++语言。 当源程序编写好后,选择开发环 境, ’C54x提供了两种开发环境。一种是 非集成开发环境,如图4.1.1。另一种是集 成开发环境,简称CCS。CCS在Windows 操作系统下运行,它集成了非集成开发环 境的所有功能,并扩展了许多其他的功能。 在后面的章节中会有介绍。
汇编器
链接器
调试程序
-l
-m
.lst
.map
列表文件 存储器映像文件
第4章汇编语言程序的开发工具
转换程序
① 编辑 利用各种文本编辑器,如记事本、WORD、 EDIT等,可编写汇编语言源程序。 ② 汇编 当汇编语言源程序编写好以后,可利 用’C54x的汇编器ASM500,对一个或多 个源程序进行汇编,生成.lst文件和.obj文件。 常用汇编命令为: asm500 %1 -s -l -x
第4章汇编语言程序的开发工具
4.2 汇编语言程序的编辑、 汇编和链接过程
汇编语言源程序可以在任何一种文本编辑器 中进行。当汇编语言源程序完成后,还必须经过 汇编和链接后才能进行。
下图给出了汇编语言程序的编辑、汇编和链接 过程:
.cmd链接命令 文件
.asm源文件 .obj目标文件
.out输出文件
文本编辑器
大多数系统都包含有几种存储器,通过 对各个段的重新定位,可以使目标存储器 得到更加有效的利用。
第4章汇编语言程序的开发工具
4.3.2 汇编器对段的处理
汇编器对段的处理是通过段伪指令来区 别各个段,并将段名相同的语句汇编在一 起。汇编器有5条命令可识别汇编语言程序 的各个部分。这5条命令是: ◆ .bss(未初始化段) ◆ .usect(未初始化段) ◆ .text(已初始化段) ◆ .data(已初始化段) ◆ .sect(已初始化段)
第4章汇编语言程序的开发工具
COFF目标文件有以下两种基本类型的段。 ① 初始化段 初始化段中包含有数据或程序代码。包括: ◆ .text段是已初始化段; ◆ .data段是已初始化段; ◆ .sect汇编器伪指令建立的自定义段也是已 初始化段。
第4章汇编语言程序的开发工具
② 未初始化段 在存储空间中,它为未初始化数据保留
第4章汇编语言程序的开发工具
③ 链接 链接就是利用’C54x的链接器LNK500,根 据链接器命令文件(.cmd)对已汇编过的 一个或多个目标文件(.obj)进行链接,生 成存储器映像文件(.map)和输出文件 (.out)。
常用链接命令为 lnk500 %1.cmd
第4章汇编语言程序的开发工具
④ 调试 对输出文件(.out)调试可以采用多种手段, 现介绍如下: ◆软件仿真器进行调试 ◆硬件仿真器进行调试 ◆评价模块进行调试 ⑤ 固化用户程序 调试完成后,利用HEX500格式转换器对 ROM编程,或对EPROM编程,最后安装 到用户的的应用系统中。
第4章
汇编语言程序的开发工具
第4章汇编语言程序的开发工具
知识要点:本章介绍了TMS320C54x软件 开发流程、汇编语言程序的编写、编译和 链接过程,重点介绍了COFF段的一般概念、 汇编器和链接器处理段的方法以及程序的 重定位方法等。
第4章汇编语言程序的开发工具
4.1 TMS320C54x软件开发流程
存储空间。包括: ◆ .bss段未初始化段; ◆ .usect汇编命令建立的自定义段也是未初
始化段。
第4章汇编语言程序的开发工具
链接器的一个任务就是分配存储单元,即 把各个段重新定位到目标存储器中,如下图:
第4章汇编语言程序的开发工具
链接器的功能之一是将目标文件中的段 重新定位到目标系统的存储器中,该功能 称为定位或分配。
第4章汇编语言程序的开发工具
所有的COFF目标文件都包含以下3种形式段: ◆ .text段,通常包含可执行代码; ◆ .data段,通常包含初始化数据; ◆ .bss段,通常为未初始化变量保留存储空间。
此外,汇编器和链接器可以建立、命名和链接自定 义段。这种自定义段是程序员自已定义的段,使用起来 与.data、.text、及.bss段类似。它的好处是在目标文件 中与.data、.text、及.bss分开汇编,链接时作为一个单 独部分分配到存储器中。
4.3.1 COFF文件的基本单元
COFF文件有3种类型:COFF0、 COFF1、COFF2。每种类型的COFF文件 的标题格式都有所不同,但数据部分却是 相同的。
段是COFF文件中最重要的概念。每个 目标文件都分成若干段。
段是在存储器图中占据相邻空间的代码 或数据块。
第4章汇编语言程序的开发工具
① 未初始化段
.bss和.usect命令生成未初始化段。未初始 化段就是’C54x存储器中的保留空间,通 常将它们定位到RAM区。在目标文件中, 这些段没有确切的内容;在程序运行时, 可以利用这些存储空间存放变量。
第4章汇编语言程序的开发工具
4.3 COFF的一般概念
汇编器和链接器生成的目标文件,是一 个可以由’C54x器件执行的文件。这些目 标文件的格式称为公共目标文件格式 (Common Object File Format, 缩写为 COFF)。
COFF采用代码段和数据段的形式,因 此便于模块化的编程。
第4章汇编语言程序的开发工具
第4章汇编语言程序的开发工具
如果源程序是C/C++语言,需调 用’C54x的C编译器将其编译成汇编语言, 并送入’C54x的汇编器进行汇编。对于用 汇编语言编写的程序则直接送给汇编器进 行汇编,汇编后产生COFF格式的目标文件, 再用链接器进行链接,生成在’C54x可执 行的COFF格式的目标代码,并利用调试工 具对可执行的目标代码进行调试。
第4章汇编语言程序的开发工具
对’CΒιβλιοθήκη Baidu4x应用程序的开发提供以下几个开发 调试工具:
◇ C/汇编语言源码调试器与软件仿真器、评价模 块、软件开发系统、软件模拟器等开发工具配合 使用。
◇ 软件仿真模拟器 ◇集成开发环境CCS
◇ DSK
◇ 软件开发系统SWDS
◇可扩展的开发系统仿真器(XDS510)
◇评价模块(EVM板)
’C54x的应用软件开发主要完成以下的工作: 首先是选择编程语言编写源程序。’C54x 提供两种编程语言:汇编语言和C/C++语言。 当源程序编写好后,选择开发环 境, ’C54x提供了两种开发环境。一种是 非集成开发环境,如图4.1.1。另一种是集 成开发环境,简称CCS。CCS在Windows 操作系统下运行,它集成了非集成开发环 境的所有功能,并扩展了许多其他的功能。 在后面的章节中会有介绍。
汇编器
链接器
调试程序
-l
-m
.lst
.map
列表文件 存储器映像文件
第4章汇编语言程序的开发工具
转换程序
① 编辑 利用各种文本编辑器,如记事本、WORD、 EDIT等,可编写汇编语言源程序。 ② 汇编 当汇编语言源程序编写好以后,可利 用’C54x的汇编器ASM500,对一个或多 个源程序进行汇编,生成.lst文件和.obj文件。 常用汇编命令为: asm500 %1 -s -l -x
第4章汇编语言程序的开发工具
4.2 汇编语言程序的编辑、 汇编和链接过程
汇编语言源程序可以在任何一种文本编辑器 中进行。当汇编语言源程序完成后,还必须经过 汇编和链接后才能进行。
下图给出了汇编语言程序的编辑、汇编和链接 过程:
.cmd链接命令 文件
.asm源文件 .obj目标文件
.out输出文件
文本编辑器
大多数系统都包含有几种存储器,通过 对各个段的重新定位,可以使目标存储器 得到更加有效的利用。
第4章汇编语言程序的开发工具
4.3.2 汇编器对段的处理
汇编器对段的处理是通过段伪指令来区 别各个段,并将段名相同的语句汇编在一 起。汇编器有5条命令可识别汇编语言程序 的各个部分。这5条命令是: ◆ .bss(未初始化段) ◆ .usect(未初始化段) ◆ .text(已初始化段) ◆ .data(已初始化段) ◆ .sect(已初始化段)
第4章汇编语言程序的开发工具
COFF目标文件有以下两种基本类型的段。 ① 初始化段 初始化段中包含有数据或程序代码。包括: ◆ .text段是已初始化段; ◆ .data段是已初始化段; ◆ .sect汇编器伪指令建立的自定义段也是已 初始化段。
第4章汇编语言程序的开发工具
② 未初始化段 在存储空间中,它为未初始化数据保留
第4章汇编语言程序的开发工具
③ 链接 链接就是利用’C54x的链接器LNK500,根 据链接器命令文件(.cmd)对已汇编过的 一个或多个目标文件(.obj)进行链接,生 成存储器映像文件(.map)和输出文件 (.out)。
常用链接命令为 lnk500 %1.cmd
第4章汇编语言程序的开发工具
④ 调试 对输出文件(.out)调试可以采用多种手段, 现介绍如下: ◆软件仿真器进行调试 ◆硬件仿真器进行调试 ◆评价模块进行调试 ⑤ 固化用户程序 调试完成后,利用HEX500格式转换器对 ROM编程,或对EPROM编程,最后安装 到用户的的应用系统中。
第4章
汇编语言程序的开发工具
第4章汇编语言程序的开发工具
知识要点:本章介绍了TMS320C54x软件 开发流程、汇编语言程序的编写、编译和 链接过程,重点介绍了COFF段的一般概念、 汇编器和链接器处理段的方法以及程序的 重定位方法等。
第4章汇编语言程序的开发工具
4.1 TMS320C54x软件开发流程
存储空间。包括: ◆ .bss段未初始化段; ◆ .usect汇编命令建立的自定义段也是未初
始化段。
第4章汇编语言程序的开发工具
链接器的一个任务就是分配存储单元,即 把各个段重新定位到目标存储器中,如下图:
第4章汇编语言程序的开发工具
链接器的功能之一是将目标文件中的段 重新定位到目标系统的存储器中,该功能 称为定位或分配。
第4章汇编语言程序的开发工具
所有的COFF目标文件都包含以下3种形式段: ◆ .text段,通常包含可执行代码; ◆ .data段,通常包含初始化数据; ◆ .bss段,通常为未初始化变量保留存储空间。
此外,汇编器和链接器可以建立、命名和链接自定 义段。这种自定义段是程序员自已定义的段,使用起来 与.data、.text、及.bss段类似。它的好处是在目标文件 中与.data、.text、及.bss分开汇编,链接时作为一个单 独部分分配到存储器中。