全文90% 參考Ubuntu - 建立 ARM Toolchain (Cross Compiler)
不一樣的部份就是版本比他用的更新,然後提一下碰到的問題

環境:乾淨的ubuntu 9.04

step 1:安裝額外的套件,有些名字不太對,自已改一下


build-essential (gcc glibc)
bison (binutils and gcc )
flex (binutils and gcc)
texinfo (makeinfo
libncurses5-dev ( termcap)
mpfr-dev (gcc build)
gmp-dev (gcc build)


step 2 : 下載source package,解壓縮到目錄
binutils-2.19.1
gcc-4.4.0
newlib-1.17.0
gdb-6.8


step 3 : 設定編譯環境
TARGET_DIR 和 LIB_SRC請依照你安裝位置和源始碼放位置修改

export TARGET_DIR="/usr/local/gnuarm"
export LIB_SRC="/home/maxkerr/gnuarm/newlib-1.14.0"
export MY_CONFIG="--target=arm-elf --prefix=$TARGET_DIR --enable-interwork --enable-multilib"
export GCC_CONFIG="--target=arm-elf --prefix=$TARGET_DIR --enable-interwork --enable-multilib --enable-languages=c,c++ --with-newlib --with-headers=$LIB_SRC/newlib/libc/include"
export PATH="$PATH:$TARGET_DIR/bin"


step 4 : 編譯 binutils
套用patch,一個debug function format error

cd binutils-2.19.1
mkdir build;cd build
../configure $MY_CONFIG
sudo make -j 4 all install


step 5 : 編譯 gcc part 1

cd gcc-4.4.0
mkdir build;cd build
../configure $GCC_CONFIG
sudo make all-gcc install-gcc


step 6 : 編譯 newlib

cd newlib-0.17.0
mkdir build;cd build
../configure $MY_CONFIG
make all
sudo -c
export PATH="$PATH:$TARGET_DIR/bin" (為了找到arm-elf-cc)
make install



step 7 : 編譯 gcc part 2

cd gcc-4.4.0/build
sudo make all install


step 8 : 編譯 gdb
套用修正 p1, p2, p3, p4, p5, p6,

cd gdb-6.8
mkdir build;cd build
../configure $MY_CONFIG
sudo make all install


step 9 : 設定運行環境
把 :/usr/local/gnuarm/bin 加到 /etc/environment 中 PATH 最後一個 " 之前,例如這樣:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/gnuarm/bin"

step 10 : 測試

arm-elf-cc hello.c
arm-elf-run a.out
arrow
arrow
    全站熱搜

    cmchao 發表在 痞客邦 留言(5) 人氣()