当前位置:技术文章首页 >> 嵌入式技术 >> ARM入门 >> ARM基础入门十

ARM基础入门十

2008-08-27 21:22:29  作者:不详  来源:互联网  浏览次数:703  文字大小:【】【】【

ARM基础入门十

发表时间:2007-11-27 04:14:55    来源::佚名    责任编辑::佚名    阅读数:

ARM映像文件——2ARM连接器介绍 M开发论坛

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的命令行选项,各选项的具体用法将在后面有具体地介绍。 ARM
  提供关于armlink的帮助信息
  指定输出文件的名称和类型:*-output;*-partial;*-elf
  制定可执行映像文件的内存映射关系。*-rwpi;*-ropi;*-rw_base;*-ro_base;*-spit;*-scatter
  控制可执行映射文件的内容。*-first;*-last  生成与映像文件的相关信息  控制armlink生成相关的诊断信息。 字串4


3输入段的排序规则
连接器根据输入段的属性来组织这些输入段,具有相同属性的输入段被放到域中一段连续的空间中,组成一个输出段。在一个输出段中,各输入段的起始地址与

ARM

输出段的起始地址和该输出段中个输入段的排列顺序有关。
通常情况下,一个输出段中个输入段的排列顺序由下面几个因素决定的。用户可以通过连接选项-first和-last来改变这些规则。
**输入段的属性。
**输入段的名称
**各输入段在连接命令行的输入段列表中的排列顺序
按照输入段的属性,其排列顺序如下所示:
**只读的代码段
**只读的数据段
**可读写的代码段
**其他已经初始化的数据段
**未出世化的数据
对于具有相同属性的输入段,按照其名称来排序。这是输入段名称是区分大小写的,按照其ASCII码顺序进行排序。
对于具有相同属性和名城的输入段,按照其在输入段列表中的顺序进行排序。也就是说,几十个输入段的属性和名称保持不变,假如其在编译时,各输入段在输 字串4

入段列表中的排列顺序不同,生成的映像文件也将不同。
可以通过连接选项-first和-last来改变这些规则。假如连接时使用了配置文件,可以在配置文件中通过伪属性FIRST和LAST达到相同的效果。
连接选项-first和-last不能改变根据输入段进行排序的规则,它只能改变根据输入段名称和其在输入列表中的顺序的排序规则。也就是说,假如使用-first指定

M开发论坛

一个输入段,只有该输入段所在的输出段位于运行时域的开始位置时,该输入段才能位于整个运行时域的开始位置。
各个输入段排好顺序后,在确定各个输入段的起始地址之前,何以通过填充补丁是个输入段满足地址对齐的要求。 ARM

 

M开发论坛

责任编辑:


相关文章
 

最新文章

更多

· 初学者之-ARM的学习方法
· ARM启动的详细过程
· 初学者之-ARM的学习建议
· ARM基础入门十
· ARM基础入门九
· ARM基础入门八
· ARM基础入门七
· ARM基础入门六
· ARM基础入门五
· ARM基础入门四

推荐文章

更多

· 初学者之-ARM的学习方法
· ARM启动的详细过程
· 初学者之-ARM的学习建议
· ARM基础入门十
· ARM基础入门九
· ARM基础入门八
· ARM基础入门七
· ARM基础入门六
· ARM基础入门五
· ARM基础入门四

热点文章

更多

01-01·[接口与通讯] 红外遥控系统原理及单片机软... (3804)
01-01·[单片机技术] 温度传感器PT100的应用 (2424)
09-17·[可编程逻辑] 基于VHDL语言的智能密码锁设计 (1984)
09-08·[可编程逻辑] 基于FPGA的QPSK调制解调电路... (1973)
09-08·[单片机技术] AT89S52的中文简介及资料下载 (1909)
11-24·[电子基础] 与初学者谈电子制作(电子入门) (1789)
09-09·[电源技术] 基于DSP的三相SPWM波发生软件... (1789)
10-24·[传感与控制] MODBUS RTU通讯协议在S7-200... (1612)
12-01·[单片机技术] 基于ARM智能家居控制器设计与... (1612)
11-24·[单片机技术] 常用LED数码管驱动电路2(单 ... (1601)
09-08·[电源技术] 能延长电池寿命的单节电池升... (1537)
09-11·[仪器与仪表] 应用ADuC847芯片设计压力及温... (1520)