製作交叉編譯工具鏈 1

2021-09-01 05:50:09 字數 2329 閱讀 3399

交叉編譯環境是由編譯器、聯結器和直譯器組合成的綜合開發環境。

交叉編譯工具主要包括針對目標系統的編譯器gcc、目標系統的二進位制工具binutils、目標系統的標準c庫glibc和目標系統的linux核心標頭檔案

安裝上述檔案,並設定變數 prefix 指定可執行程式的安裝路徑

執行configure檔案,並使用 --prefix=$prefix引數指定安裝路徑,使用 --target=arm-linux引數指定目標機型別,然後執行make install

執行make mrproper進行清理工作,然後執行make config arch=arm(或make menuconfig/xconfig arch=arm)進行配置

配置完成之後,需要將核心標頭檔案複製到安裝目錄

cp -dr include/asm-arm $prefix/arm-linux/include/asm-arm

cp -dr include/linux $prefix/arm-linux/include/linux

configu的執行引數設定

–prefix=$prefix

–target=arm-linux

–disable-threads

–disable-shared

–enable-languages=c

執行make install,將生成乙個簡單的gcc,由於編譯整個gcc需要目標機的glibc庫,它現在還不存在,因此需要首先生成乙個最簡單的gcc

只需要具備編譯目標機glibc庫的能力即可

這一步針對目標機的cpu

#該過程需要用到linux核心標頭檔案,預設路徑為pre

fix/

arm−

linu

x/sy

s−li

nux在

prefix/arm-linux/sys-linux 在

prefix

/arm

−lin

ux/s

ys−l

inux

在prefix/arm-linx中建立乙個名為sys-linux的軟連線,使其指向核心標頭檔案所在的include目錄

也可以指向configure命令,使用–with-headers引數指定核心標頭檔案的實際路徑

configure的執行引數設定如下,因為是交叉編譯,所以要將編譯器的cc變數設為arm-linux-gcc

cc=arm-linux-gcc/configure

–prefix=pre

fix/

arm−

linu

x−−h

ost=

arm−

linu

x−−e

nabl

e−ad

d−on

s按以上

配置執行

conf

igur

e和ma

kein

stal

l,gl

ibc的

交叉編譯

過程就完

成了這裡

需要指出

,gli

bc的安

裝路徑設

置為

prefix/arm-linux --host=arm-linux --enable-add-ons 按以上配置執行configure和make install,glibc的交叉編譯過程就完成了 這裡需要指出,glibc的安裝路徑設定為

prefix

/arm

−lin

ux−−

host

=arm

−lin

ux−−

enab

le−a

dd−o

ns按以

上配置執

行con

figu

re和m

akei

nsta

ll,g

libc

的交叉編

譯過程就

完成了這

裡需要指

出,gl

ibc的

安裝路徑

設定為prefix arch=arm/arm-linux,如果此處設定不當,第二次編譯gcc時可能找不到glibc的標頭檔案和庫

configure執行引數設定

cc=arm-linux-gcc/configure

–prefix=$prefix/arm-linux

–target=arm-linux

–enable-languages=c,c++

執行make install

到此為止整個交叉編譯環境就完成了

交叉編譯工具鏈製作

交叉編譯就是在乙個平台上生成另乙個平台上的可執行 二進位制。這兩個平台可以是不同的體系結構和不同的作業系統。例如,在嵌入式系統 c c 開發過程中,常常需要在 x86 x86 64 主機上編譯出可執行程式,給 arm或 powerpc 體系結構的裝置執行。交叉編譯的兩個概念 宿主機 host 編譯程...

製作交叉編譯工具鏈 2

解壓crosstool ng tar jxvf crosstool ng 1.23.0 檢查依賴,完成依賴檢查後生成makefile configure prefix home forlinx crosstool install 編譯,編譯成功後進行安裝 make make install 新增環境...

用Crosstool 製作交叉編譯工具鏈

解壓到downloads資料夾 apt get install bison apt get install flex 二 進入解壓後的crosstool vim demo arm softflaot.sh 修改如下兩行 tarballs dir home downloads 所需安裝包儲存目錄 re...