新聞中心

ARM連接器介紹

作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
ARM連接器armlink將編譯得到的ELF格式文件以及相關(guān)的C/C++運(yùn)行時(shí)庫連接生成相應(yīng)的結(jié)果文件。armlink可以完成下面的操作:
**連接編譯后得到的目標(biāo)文件相應(yīng)的c/c++運(yùn)行時(shí)庫,生成可執(zhí)行的影像文件。
**將一些目標(biāo)文件進(jìn)行連接,生成一個(gè)新的目標(biāo)文件,供將來進(jìn)一步連接時(shí)使用,這成為部分連接。
**指定代碼和數(shù)據(jù)在內(nèi)存中的位置。
**生成被連接文件的調(diào)試信息和相互間的引用信息。
Armlink在進(jìn)行部分連接和完全生成可執(zhí)行文件時(shí)作進(jìn)行的操作是不同的。下面分別介紹:
(1)解析輸入的目標(biāo)文件之間的符號(hào)引用關(guān)系。
(2)根據(jù)輸入目標(biāo)文件對(duì)c/c++函數(shù)的調(diào)用關(guān)系,從c/c++運(yùn)行時(shí)庫中提取相應(yīng)模塊。
(3)將各個(gè)輸入段排序,組成相應(yīng)的輸出段。
(4)刪除重復(fù)的調(diào)試信息。
(5)根據(jù)用戶指定的分組和定位信息,建立映像文件的地址映射關(guān)系。
(6)重定位需要重定位的值。
(7)生成可執(zhí)行的映像文件。
armlink在進(jìn)行部分連接生成新的目標(biāo)文件時(shí)執(zhí)行下面的操作。
(1)刪除重復(fù)的調(diào)試信息
(2)最小化符號(hào)表的大小
(3)保留那些未被解析的符號(hào)
(4)生成新的目標(biāo)文件
下面根據(jù)各armlink的命令行選項(xiàng)的功能分類列舉了armlink的命令行選項(xiàng),各選項(xiàng)的具體用法將在后面有詳細(xì)地介紹。
**提供關(guān)于armlink的幫助信息
**指定輸出文件的名稱和類型:*-output;*-partial;*-elf
**使用選項(xiàng)文件,其中可以包含一些連接選項(xiàng)。
**制定可執(zhí)行映像文件的內(nèi)存映射關(guān)系。*-rwpi;*-ropi;*-rw_base;*-ro_base;*-spit;*-scatter
**控制可執(zhí)行映射文件的內(nèi)容。*-first;*-last
**生成與映像文件的相關(guān)信息
**控制armlink生成相關(guān)的診斷信息


關(guān)鍵詞: ARM連接

評(píng)論


技術(shù)專區(qū)

關(guān)閉