从零开始学ARM
上QQ阅读APP看书,第一时间看更新

2.3 交叉编译工具安装

交叉编译工具链压缩包路径为“工具软件\gcc-4.6.4.tar.xz”。将鼠标指针放置在ubuntu界面的任意位置,然后按下组合键<Ctrl+Alt+T>,即可打开命令终端,执行以下操作后界面如图2-37所示。

peng@ubuntu: ~$mkdir toolchain
peng@ubuntu: ~$sudo chmod 777 toolchain

图2-37 安装页面1

将交叉编译工具链压缩包“gcc-4.6.4.tar.xz”复制到“toolchain”目录下,如图2-38所示。

图2-38 安装页面2

打开命令终端,执行以下操作,解压该压缩包。

peng@ubuntu:~$ cd toolchain/
peng@ubuntu:~/toolchain$ tar xvf gcc-4.6.4.tar.xz

修改文件/etc/bash.bashrc,添加如下内容。

peng@ubuntu:~/toolchain$ sudo gedit /etc/bash.bashrc
export PATH=$PATH:/home/peng/toolchain/gcc-4.6.4/bin

单击界面右上角的“Save”按钮,保存修改的文件,如图2-39所示。

图2-39 安装页面3

如果在其他路径解压安装包,则此处修改为对应的路径即可。

重启配置文件,执行以下操作。

peng@ubuntu:~/toolchain$ source /etc/bash.bashrc

安装第三方库,执行以下操作。

peng@ubuntu:~/toolchain$ apt-get install lsb-core

测试工具链,执行以下操作。

peng@ubuntu:~/toolchain$ arm-none-linux-gnueabi-gcc –v

得到以下结果,说明安装成功。

peng@ubuntu:~/toolchain$ arm-none-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/peng/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)