arm-linux-gcc交叉编译环境搭建
没用linux一段时间了,公司的产品都以ucos II为平台。突然发现很多linux下的东西都生疏了,决定自己动手学点驱动的东西,写几个简单的驱动。介于前车之鉴:掌握的东西一段时间不去弄他,很快就忘了。所以开个博客,把自己在学习的过程中一些体会、和经验写下来供自己以后复习、也希望能和给位网友一起学习交流。废话不多说,系统已经装好了,我用的linux版本是:Red Hat Enterprise Linux 5。现在来动手装一个交叉编译环境。版本是arm-linux-gcc-4.3.2。
昨天装了arm-linux-gcc-4.4.3版本的交叉编译环境,make zImage的时候出现以下错误:
CHK include/linux/version.h
make[1]: “include/asm-arm/mach-types.h”是最新的。
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
这中间一连串的目录忘了arm/4.4.3/bin/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory
make[1]: *** [kernel/bounds.s] 错误 1
make: *** [prepare0] 错误 2
中间的目录忘了,意思是交叉编译环境没装好,在/usr/local/下没发现arm这个目录。环境变量我是配的export PATH=$PATH:/usr/local/arm/4.3.2/bin。
当你make的时候他会去你指定的目录下找交叉编译器,没有找到自然就报错了咯。
我也没去重装,记得以前装的是arm-linux-gcc-4.3.2版本的,所以顺手拿起以前的那个装起,再make果然对了。
下面我们介绍一下交叉编译环境的安装全过程。
1.首先下载arm-linux-gcc-4.3.2.tgz,可以到arm Friendly官网上下http://www.arm9.net/download.asp。
2.下载完后解压。解压可以把文件拷到/usr/local/arm/然后解压tar zxvf arm-linux-gcc-4.3.2.tgz,这是比较笨的做法。linux提供了简单的方法为什么不用呢。在任意目录下tar zxvf arm-linux-gcc-4.3.2.tgz -C /注意是大写的“C”,并且大写的“C”和“/”之间有一个空格。解压完后就是配置环境变量了。
3.在root目录下gedit .bashrc当然你也可以用vim .bashrc个人喜欢用gedit。在弹出的页面的最后一行加上export PATH=$PATH:/usr/local/arm/4.3.2/bin保存退出
4.注销
5.检查一下是不是安装好了,打开终端。输入arm-linux-gcc -v看有没有相应的版本信息输出,输出信息如下所示:
[root@localhost ~]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
ok大功告成了。哈哈
posted on 2011-12-26 20:49 _huanonly范特西 阅读(1795) 评论(0) 收藏 举报
浙公网安备 33010602011771号