4.2公共目标文件格式COFF COFF: common object file format 汇编器和链接器生成的目标文件,是一个可以由 c54x器件执行的文件。这些目标文件的格式称之 为公共目标文件格式(COFF)。 采用这种文件格式的优点是: 将指令和数据按照段的概念进行组织和存储, 这使得程序的可读性大大增强,更容易编写程序, 更便于进行程序的移植,更利于进行模块化的程 序设计,为管理代码段及系统存储器提供了灵活 的方法和手段。 7
4.2 公共目标文件格式COFF 汇编器和链接器生成的目标文件,是一个可以由 C54x器件执行的文件。这些目标文件的格式称之 为公共目标文件格式(COFF)。 COFF: common object file format 采用这种文件格式的优点是: 将指令和数据按照段的概念进行组织和存储, 这使得程序的可读性大大增强,更容易编写程序, 更便于进行程序的移植,更利于进行模块化的程 序设计,为管理代码段及系统存储器提供了灵活 的方法和手段。 7
4.2公共目标文件格式cOFF COFF文件有3种类型:COFF0、COFF1、COFF2 每种类型的cOF文件,其标题格式都有所不同,但 数据部分是相同的。 链接器能够读/写所有类型的COFF文件,默认时链 接器生成的是COFF2文件,采用-yn链接选项可以 选择不同类型的COFF文件。 8
COFF文件有3种类型:COFF0、COFF1、COFF2 每种类型的COFF文件,其标题格式都有所不同,但 数据部分是相同的。 链接器能够读/写所有类型的COFF文件,默认时链 接器生成的是COFF2文件,采用-v n链接选项可以 选择不同类型的COFF文件。 8 4.2 公共目标文件格式COFF
4.2.1分段结构 所谓“段”就是在存储器映像中占据连续空间的 段独立的代码或数据。每个目标文件都分成若干段。 COFF目标文件包含以下三个默认的段: > .text段:通常内含可执行代码; .data段:通常内含已初始化数据; > .bss段:是为没有初始化的数据保留空间的。 COFF目标文件的段又可分为两大基本类型:已初 始化段和未初始化段。 9
所谓“段”就是在存储器映像中占据连续空间的 一段独立的代码或数据。每个目标文件都分成若干段。 COFF目标文件包含以下三个默认的段: ➢ .text 段:通常内含可执行代码; ➢ .data段:通常内含已初始化数据; ➢ .bss段:是为没有初始化的数据保留空间的。 COFF目标文件的段又可分为两大基本类型:已初 始化段和未初始化段。 9 4.2.1分段结构
4.2.1分段结构 口Section(“段”)概念:一块连续的储存空间,可 存放程序或数据 口在编程时,“段”没有绝对定位,每个“段”都认为 是从0地址开始的一块连续的储存空间,而无需关心这 些“段”究竟定位在系统的哪些地方。 口优点:便于程序的模块化编程;便于工程化管理:可 将软件开发人员和硬件开发人员基本上分离开。 ▣ 重定位:由于所有的“段”都是从0地址开始,所以程 序编译完成后是无法运行的,要让程序正确运行,必 须对“段”进行重新定位,这个工作由链接器完成。 □.cmd文件:MEMORY命令描述系统硬件资源,SECTIONS 命令描述软件人员程序中用到的“段”如何定位到恰 当的硬件资源上。 10
❑ Section( “段”)概念:一块连续的储存空间,可 存放程序或数据 ❑ 在编程时,“段”没有绝对定位,每个“段”都认为 是从0地址开始的一块连续的储存空间,而无需关心这 些“段”究竟定位在系统的哪些地方。 ❑ 优点:便于程序的模块化编程;便于工程化管理:可 将软件开发人员和硬件开发人员基本上分离开。 ❑ 重定位:由于所有的“段”都是从0地址开始,所以程 序编译完成后是无法运行的,要让程序正确运行,必 须对“段”进行重新定位,这个工作由链接器完成。 ❑ .cmd文件:MEMORY命令描述系统硬件资源,SECTIONS 命令描述软件人员程序中用到的“段”如何定位到恰 当的硬件资源上。 10 4.2.1分段结构
4.2.1分段结构 1.已初始化段 包含程序代码、常数表格和数据。每个段都可以独 立的进行重定位,且可访问在其它段中定义的符号。 已初始化段的值是不可修改的,因而一般将它们建 立在程序存储器中。 主要有: .text段—一已初始化段; .data段一已初始化段; .sect段一己初始化段,由汇编器伪指令建立 的自定义段。 11
1.已初始化段 包含程序代码、常数表格和数据。每个段都可以独 立的进行重定位,且可访问在其它段中定义的符号。 已初始化段的值是不可修改的,因而一般将它们建 立在程序存储器中。 主要有: .text段——已初始化段; .data段——已初始化段; .sect段——已初始化段,由汇编器伪指令建立 的自定义段。 11 4.2.1分段结构