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]
出處:lcw.cnblogs.com
本文申明:本文版權歸作者和部落格園共有,歡迎轉載,轉載請注明出處.