一步一步的製作arm-linux交叉編譯環境
我們使用以下版本的檔案為例子建立 arm-linux 交叉編譯環境:
編譯環境 redhat 7.2 或 8.0
binutils-2.14.tar.gz
ftp://ftp.gnu.org/gnu/binutils/binutils-2.14.tar.gz
gcc-core-2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz
gcc-g++2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz
glibc-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz
glibc-linuxthreads-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz
linux-2.4.21.tar.gz
ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz
patch-2.4.21-rmk1.gz # linux kernel patch for arm
ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/patch-2.4.21-rmk1.gz
5.編譯安裝gcc 的c, c++ 編譯器
5.1恢復t-linux 檔案
$ cd ~/tars/sourcedir/gcc-$vgcc/gcc/config/arm/
$ cp t-linux-orig t-linux
5.2解壓縮 c++ 編譯器
$ cd ~/tars/sourcedir/
$ tar -zxf ../gcc-g++-$vgcc.tar.gz
$ $ cd ~/tars/builddir
$ mkdir gcc
$ cd gcc
5.3編譯
$ ../../sourcedir/gcc-$vgcc/configure /
--target=$target /
--prefix=$prefix /
--enable-languages=c,c++ /
--with-included-gettext
$ make all
$ make install
$ tar -jxf filename.tar.bz2
$ tar -ixf filename.tar.bz2
$ bzip2 -dc filename.tar.bz2 | tar xf -
如果你是第一次製作 arm-linux 交叉編譯環境,強烈建議你用本文所使用的各個程式的版本。如果用其它版 本,按照本文的方法可能會在編譯的時候出問題,因為我沒有時間去測試各個版本的組合。這裡是源程式: crossarm.sh,它使用的是:
linux-2.4.21.tar.bz2
patch-2.4.21.bz2
binutils-2.14.tar.gz
gcc-core-2.95.3.tar.gz
gcc-g++-2.95.3.tar.gz
glibc-2.2.4.tar.gz
生成的 toolchain 大於 150 兆,用如下方法壓縮:
$ cd ~
$ tar -cf armtools.tar /armtools
$ bzip2 -z armtools.tar
壓縮後生成的 armtools.tar.bz2 大概有 30 幾兆。
交叉編譯器
交叉編譯器可以使我們在主機上編譯出可以在嵌入式裝置上執行的程式 install gcc aarch64 linux gnu 安裝64位用於作業系統的交叉編譯器,gcc版本是5.4,安裝位置在 usr bin sudo apt get install gcc arm linux gnueabihf 安...
ubuntu安裝交叉編譯器 安裝交叉編譯器
2 安裝方法二 1 安裝方法一 開啟ubuntu終端 使用sudo apt list gcc arm 可以檢視所有的交叉編譯器,假設安裝gcc arm linux gnueabihf,則使用sudo apt get install gcc arm linux gnueabihf就裝好了。參考 2 安...
linux下交叉編譯器製作
本人使用的板子是三星的fl2440基於arm9,cpu為s3c2440。1 編譯路徑 我們一般將交叉編譯器放在 opt下 但不絕對 因為 opt目錄預設只有root才有寫的許可權,所以在上傳這些原始碼包之前首先要修改他的許可權。修改完成後放入buildroot 2012.08原始碼包。解壓縮原始碼包...