微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM基础知识 -- ELF映像文件

ARM基础知识 -- ELF映像文件

时间:11-28 来源:互联网 点击:

一个输入段,只有该输入段所在的输出段位于运行时域的开始位置时,该输入段才能位于整个运行时域的开始位置。

各个输入段排好顺序后,在确定各个输入段的起始地址之前,何以通过填充补丁是个输入段满足地址对齐的要求。

ARM连接器介绍

ARM连接器armlink将编译得到的ELF格式文件以及相关的C/C++运行时库连接生成相应的结果文件。armlink可以完成下面的操作:

* 连接编译后得到的目标文件相应的c/c++运行时库,生成可执行的影像文件。
* 将一些目标文件进行连接,生成一个新的目标文件,供将来进一步连接时使用,这成为部分连接。
* 指定代码和数据在内存中的位置。
* 生成被连接文件的调试信息和相互间的引用信息。

Armlink在进行部分连接和完全生成可执行文件时作进行的操作是不同的。下面分别介绍:

(1)解析输入的目标文件之间的符号引用关系。
(2)根据输入目标文件对c/c++函数的调用关系,从c/c++运行时库中提取相应模块。
(3)将各个输入段排序,组成相应的输出段。
(4)删除重复的调试信息。
(5)根据用户指定的分组和定位信息,建立映像文件的地址映射关系。
(6)重定位需要重定位的值。
(7)生成可执行的映像文件。

armlink在进行部分连接生成新的目标文件时执行下面的操作。

(1)删除重复的调试信息
(2)最小化符号表的大小
(3)保留那些未被解析的符号
(4)生成新的目标文件

下面根据各armlink的命令行选项的功能分类列举了armlink的命令行选项,各选项的具体用法将在后面有详细地介绍。

* 提供关于armlink的帮助信息
* 指定输出文件的名称和类型:*-output;*-partial;*-elf
* 使用选项文件,其中可以包含一些连接选项。
* 制定可执行映像文件的内存映射关系。*-rwpi;*-ropi;*-rw_base;*-ro_base;*-spit;*-scatter
* 控制可执行映射文件的内容。*-first;*-last
* 生成与映像文件的相关信息
* 控制armlink生成相关的诊断信息。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top