1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      ARM基礎知識十

      更新時間: 2007-01-24 11:05:04來源: 粵嵌教育瀏覽量:802

      *****************************************************

      ARM映像文件——2

      *****************************************************

        3輸入段的排序規則

        連接器根據輸入段的屬性來組織這些輸入段,具有相同屬性的輸入段被放到域中一段連續的空間中,組成一個輸出段。在一個輸出段中,各輸入段的起始地址與

        輸出段的起始地址和該輸出段中個輸入段的排列順序有關。

        通常情況下,一個輸出段中個輸入段的排列順序由下面幾個因素決定的。用戶可以通過連接選項-first和-last來改變這些規則。

      **輸入段的屬性。
      **輸入段的名稱
      **各輸入段在連接命令行的輸入段列表中的排列順序
        
        按照輸入段的屬性,其排列順序如下所示:

      **只讀的代碼段
      **只讀的數據段
      **可讀寫的代碼段
      **其他已經初始化的數據段
      **未出世化的數據

        對于具有相同屬性的輸入段,按照其名稱來排序。這是輸入段名稱是區分大小寫的,按照其ASCII碼順序進行排序。

        對于具有相同屬性和名城的輸入段,按照其在輸入段列表中的順序進行排序。也就是說,幾十個輸入段的屬性和名稱保持不變,如果其在編譯時,各輸入段在輸入段列表中的排列順序不同,生成的映像文件也將不同。
      可以通過連接選項-first和-last來改變這些規則。如果連接時使用了配置文件,可以在配置文件中通過偽屬性FIRST和LAST達到相同的效果。

        連接選項-first和-last不能改變根據輸入段進行排序的規則,它只能改變根據輸入段名稱和其在輸入列表中的順序的排序規則。也就是說,如果使用-first指定

        一個輸入段,只有該輸入段所在的輸出段位于運行時域的開始位置時,該輸入段才能位于整個運行時域的開始位置。

        各個輸入段排好順序后,在確定各個輸入段的起始地址之前,何以通過填充補丁是個輸入段滿足地址對齊的要求。

      ***********************************************************

      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生成相關的診斷信息。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 人妇乱系列中文字幕 | 中文字幕偷乱在线看 | 亚洲欧美日韩另类久久 | 中文字幕在线第亚洲 | 亚洲v欧洲v日韩v国产 | 综合久久久久久久 |