Linux 系统下ARM Linux交叉编译环境crosstool工具
时间:11-09
来源:互联网
点击:
ET}
修改成
PREFIX=${PREFIX-$RESULT_TOP/$TOOLCOMBO}
/*把原来最终结果存放在/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux下改为/work/tools/gcc-3.4.5-glibc-2.3.6/*/
其中TARGET在arm-softfloat.dat定义的
4、gcc-3.4.5-glibc-2.3.6.dat
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.4.5
GLIBC_DIR=glibc-2.3.6
LINUX_DIR=linux-2.6.8 (可以修改内核版本)
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --with-tls --with-__thread--enable-kernel=2.4.18"
以上所提到的就是生成交叉编译器所需要的压缩包的版本。
5、进入crosstool-0.43
$ cd crosstools-0.43
$ ./demo-arm-softfloat.sh
/*执行,经过2、3小时后在/work/tools/目录下生成gcc-3.4.5-glibc-2.3.6子目录,交叉编译器、库、头文件都在里面,设置PATH环境变量即可*/
$ arm-linux-gcc –v/*测试*/
可能的错误:
ubuntu中默认gcc的版本是,对于crosstools0.43而言gcc可能太新了。
解决的办法很简单:装个gcc4.1,然后把/usr/bin/gcc的link由gcc4.2指向4.1即可。
sudoapt-getinstallgcc-4.1
ls-l/usr/bin/gcc#你可以看看现在的gcc指向哪里
sudorm/usr/bin/gcc
sudoln-s/usr/bin/gcc-4.1/usr/bin/gcc
附录:
binutils是二进制文件的处理工具,它主要包含了一些辅助开发工具,例如,objdump显示反汇编码、nm列出符号表、readelf显示elf文件信息及段信息、strip将不必要的代码去掉以减少可执行文件大小等。这些工具在嵌入式开发初期,尤其是在移植调试操作系统时非常有用。
gcc是编译工具,用来编译内核代码的工具,使用它可以编译汇编语言和c语言的程序,生成arm的代码。
glibc是链接和运行库,它的编译需要指定编译器为arm交叉编译器,否则编译出的glibc代码将会是同时有arm和x86代码的混合体。所有需要用到的工具都可以通过下载源码自行编译,然后在宿主机上进行安装,就可以建立起arm的交叉编译环境。
ARMLinux交叉编译环境crosstool工 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)