首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一套完整的ARM交叉编译环境的搭建过程(4)

一套完整的ARM交叉编译环境的搭建过程(4)

五、建立初始编译器(简版 gcc)



Gcc是最主要的编译器。首先将gcc-4.6.3.ta解压至build-tools,然后将gmp-5.0.2.tar.bz2、mpfr-2.4.2.tar.gz、mpc-0.9.tar.gz分别解压至gcc源码所在目录,并将目录重命名为gmp、mpfr、mpc,然后进入build-boot-gcc目录,进行编译配置,然后make all-gcc并安装,最后make all-target-gcc并安装。实例:

root@fedora:/opt/embedded/build-tools# cd /opt/embedded/build-tools/

root@fedora:/opt/embedded/build-tools# cp /mnt/hgfs/Document/gcc-4.6.3.ta .

root@fedora:/opt/embedded/build-tools# tar -xvf gcc-4.6.3.ta

root@fedora:/opt/embedded/build-tools# cd gcc-4.6.3/

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# cp /mnt/hgfs/Document/mpfr-2.4.2.tar.gz .

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# cp /mnt/hgfs/Document/gmp-5.0.2.tar.bz2 .

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# cp /mnt/hgfs/Document/mpc-0.9.tar.gz .



root@fedora:/opt/embedded/build-tools/gcc-4.6.3# tar -xvf mpfr-2.4.2.tar.gz

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# mv mpfr-2.4.2/ mpfr

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# tar -xjf gmp-5.0.2.tar.bz2

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# mv gmp-5.0.2/ gmp

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# tar -xvf mpc-0.9.tar.gz

root@fedora:/opt/embedded/build-tools/gcc-4.6.3# mv mpc-0.9 mpc



这里需要修改一下编译配置文件:/opt/embedded/build-tools/gcc-4.6.3/gcc

/config/arm/t-linux

将“TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer –fPIC”改为

“TARGET_LIBGCC2-CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix_h”。



然后便可以切换到目录build-boot-gcc进行编译了,实例:



root@fedora:/opt/embedded/build-tools/gcc-4.6.3# cd /opt/embedded/build-tools/build-boot-gcc/

root@fedora:/opt/embedded/build-tools/build-boot-gcc# ../gcc-4.6.3/configure --target=$TARGET --prefix=$PREFIX --without-headers --enable-languages=c --disable-threads --with-newlib --disable-shared --disable-libmudflap --disable-libssp



root@fedora:/opt/embedded/build-tools/build-boot-gcc# make all-gcc

root@fedora:/opt/embedded/build-tools/build-boot-gcc# make install-gcc

root@fedora:/opt/embedded/build-tools/build-boot-gcc# make all-target-libgcc

root@fedora:/opt/embedded/build-tools/build-boot-gcc# make install-target-libgcc







完成之后,$PREFIX/bin下又多了几个文件:

arm-linux-cpp*

arm-linux-gcc*

arm-linux-gcc-4.6.3*

arm-linux-gcov*

这些生成的文件的作用分别为:

arm-linux-cpp:GNU的C的预编译器

arm-linux-gcc:GNU的C语言编译器

arm-linux-gcc-4.6.3:GNU的C语言编译器,其实和arm-linux-gcc是一样的

arm-linux-gcov:gcc 的辅助测试工具,用来分析和优化程序
继承事业,薪火相传
返回列表