【实验目的】
了解交叉工具链的编译过程及其使用。
说明:在实验中命令行提示符 为“$”表示在主机上运行,“#”表示在目标板上运行
【实验环境】
1、 ubuntu 12.04发行版
2、 FS4412平台
【实验步骤】
1、 如果要自己编译工具链,从以下链接下载源码
crosstools-ng下载地址
http://ymorin.is-a-geek.org/download/crosstool-ng/
同时对每一个版本都有相应的补丁我们尽量把这些补丁打上,这些补丁的下载地址是
http://ymorin.is-a-geek.org/download/crosstool-ng/01-fixes/
2、 解压工具链压缩包
$ cd ~
$ mkdir toolchain
$ cd toolchain
将第一天/工具/gcc-4.6.4.tar.xz拷贝到toolchain目录下并解压
$ tar xvf gcc-4.6.4.tar.xz
3、 环境变量的添加
修改文件/etc/bash.bashrc添加如下内容
export PATH=$PATH:/home/linux/toolchain/gcc-4.6.4/bin
重启配置文件
$ source /etc/bash.bashrc
4、 工具链的测试
$ arm-none-linux-gnueabi-gcc –v
Using built-in specs.
COLLECT_GCC=arm-none-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/david/Exynos4412/toolchain/gcc-4.6.4/bin/../libexec/gcc/arm-arm1176jzfssf-linux-gnueabi/4.6.4/lto-wrapper
Target: arm-arm1176jzfssf-linux-gnueabi
Configured with: /work/builddir/src/gcc-4.6.4/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-arm1176jzfssf-linux-gnueabi --prefix=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4 --with-sysroot=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/sysroot --enable-languages=c,c++ --with-arch=armv6zk --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion='crosstool-NG hg+default-2685dfa9de14 - tc0002' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-mpfr=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-mpc=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-ppl=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-cloog=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-libelf=/work/builddir/arm-arm1176jzfssf-linux-gnueabi/buildtools --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-target-optspace --without-long-double-128 --disable-nls --disable-multilib --with-local-prefix=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/sysroot --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.6.4 (crosstool-NG hg+default-2685dfa9de14 - tc0002)
这样我们的交叉工具链就安装好了