|
ARM基础知识连载之十一(转贴) arm 发表于 2005-11-24 10:31:17
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生成相关的诊断信息。
----------------------------------------------
相关日志:ARM基础知识(合集)
|