天天看點

【嵌入式】arm-linux-gcc/ld/objcopy/objdump參數概述

arm-linux-gcc

  -o 隻激活預處理,編譯,和彙編,也就是他隻把程式做成obj檔案

  -Wall 指定産生全部的警告資訊

  -O2 編譯器對程式提供的編譯優化選項,在編譯的時候使用該選項,可以使生成的執行檔案的執行效率提高

  -c 表示隻要求編譯器進行編譯,而不要進行連結,生成以源檔案的檔案名命名但把其字尾由 .c 或 .cc 變成 .o 的目标檔案

  -S 隻激活預處理和編譯,就是指把檔案編譯成為彙編代碼

arm-linux-ld

  直接指定代碼段,資料段,BSS段的起始位址

-Ttest startaddr

-Tdata startaddr

-Tbss startaddr       

  示例:

Arm-linux-ld –Ttext 0x0000000 –g led.o –o led_elf      

  使用連接配接腳本設定位址:  

Arm-linux-ld –Ttimer.lds –o timer_elf        

  其中timer.lds 為連接配接腳本

  完整的連接配接腳本格式:

SECTIONS
{
    …

    Secname start ALING(aling) (NOLOAD):AT(ldaddr)

    {contents} > region:phdr=fill

    …..

}      

arm-linux-objcopy

  被用來複制一個目标檔案的内容到另一個檔案中,可用于不同源檔案的之間的格式轉換

Arm-linux-objcopy –o binary –S elf_file bin_file       

  常用的選項:

  input-file , outflie

  輸入和輸出檔案,如果沒有outfile,則輸出檔案名為輸入檔案名

   -l bfdname或—input-target=bfdname

  用來指明源檔案的格式,bfdname是BFD庫中描述的标準格式名,如果沒指明,則arm-linux-objcopy自己分析

  -O bfdname 輸出的格式

  -F bfdname 同時指明源檔案,目的檔案的格式

  -R sectionname 從輸出檔案中删除掉所有名為sectionname的段

  -S 不從源檔案中複制重定位資訊和符号資訊到目标檔案中

  -g 不從源檔案中複制調試符号到目标檔案中

arm-linux-objdump

  檢視目标檔案(.o檔案)和庫檔案(.a檔案)資訊

arm-linux-objdump -D -m arm led_elf > led.dis       

  -D 顯示檔案中所有彙編資訊

QQ聯系方式:[email protected]

【嵌入式】arm-linux-gcc/ld/objcopy/objdump參數概述

出處:lcw.cnblogs.com

郵箱:[email protected]

本文申明:本文版權歸作者和部落格園共有,歡迎轉載,轉載請注明出處.

繼續閱讀