linux的系統移植 交叉編譯工具集

2021-10-10 22:01:02 字數 1847 閱讀 5956

1.交叉編譯工具集

\qquad

在我們安裝交叉工具集時,不僅安裝了arm-linux-gnueabi-gcc,還安裝了很多任務具,它們共同構成交叉編譯工具集。

arm-linux-gnueabi-addr2line   arm-linux-gnueabi-gcov-tool

arm-linux-gnueabi-ar arm-linux-gnueabi-gdb

arm-linux-gnueabi-as arm-linux-gnueabi-gfortran

arm-linux-gnueabi-c++ arm-linux-gnueabi-gprof

arm-linux-gnueabi-c++filt arm-linux-gnueabi-ld

arm-linux-gnueabi-cpp arm-linux-gnueabi-ld.bfd

arm-linux-gnueabi-elfedit arm-linux-gnueabi-nm

arm-linux-gnueabi-g++ arm-linux-gnueabi-objcopy

arm-linux-gnueabi-gcc arm-linux-gnueabi-objdump

arm-linux-gnueabi-gcc-5.3.1 arm-linux-gnueabi-ranlib

arm-linux-gnueabi-gcc-ar arm-linux-gnueabi-readelf

arm-linux-gnueabi-gcc-nm arm-linux-gnueabi-size

arm-linux-gnueabi-gcc-ranlib arm-linux-gnueabi-strings

arm-linux-gnueabi-gcov arm-linux-gnueabi-strip

2.常用工具集的介紹

\qquad

有hello.c的檔案,使用交叉編譯器編譯

arm-linux-gnueabi-gcc hello.c -o hello
\qquad

readelf:讀取elf,也就是可執行檔案的頭部資訊

arm-linux-gnueabi-readelf -h hello
\qquad

size:顯示程式各部分的位元組數

arm-linux-gnueabi-size hello
text	   data	    bss	    dec	    hex	filename

7862844

1074

432 hello

\qquad

nm:檢視符號標籤

arm-linux-gnueabi-nm hello
\qquad

strip:刪除符號表

arm-linux-gnueabi-strip hello
\qquad

string:顯示字串

arm-linux-gnueabi-strings hello
\qquad

objcopy:裸機開發時,不需要頭部資訊,需要把頭部資訊去除,這就需要objcopy

\qquad

objdump:生成組合語言

arm-linux-gnueabi-objdump -d hello

madplay移植 交叉編譯

移植madplay 需要如下檔案 madplay 0.15.2b.tar.gz libmad 0.15.1b.tar.gz libid3tag 0.15.1b.tar.gz 和zlib 1.2.3.tar.gz。zlib 1.1.4.tar.gz zlib 1.2.3.tar.gz類似 1 配置編譯...

OpenSSH交叉編譯和移植

一 openssl交叉編譯編譯 2 解壓 tar xvzf openssl 1.0.1h.tar.gz 3 進入解壓後的目錄,然後再建立輸出目錄 make install是安裝在該目錄 如mkdir outdir 4 配置 config no asm prefix home testdir open...

tcpdump 交叉編譯移植(mips)

一 libpcap 交叉編譯 1libpcap 1.8.1 2 解壓 3 修改configure檔案 a 注釋掉 if test z with pcap test cross compiling yes then as fn error pcap type not determined whencr...