您的位置:首页 > 其它

用Crosstool-0.43制作交叉交叉工具链的一些心得!(上)

2011-02-25 20:50 405 查看
获得交叉编译工具链有两种方法,一种是去http://ftp.arm.linux.org.uk/pub/armlinux/toolchain/下载已经制作好的交叉编译工具链,版本比较旧,且缺少gdb.另一种就是自己去制作交叉编译工具链. 这几天尝试着自己去制作交叉编译工具链,先回顾下步骤和所遇到的问题.O(∩_∩)O首先,我们需要去http://www.kegel.com/crosstool/crosstool-0.38.tar.gz下载crosstool脚本.解压下载的软件包,查看arm.dat文件内容.$cat ./arm.datKERNELCONFIG=`pwd`/arm.configTARGET=arm-linux //指定开发板.TARGET_CFLAGS="-O"$cat ./demo-arm.sh#!/bin/sh# This script has one line for each known working toolchain# for this architecture. Uncomment the one you want.# Generated by generate-demo.pl from buildlogs/all.dats.txtset -exTARBALLS_DIR=$HOME/crosstool/source //制作工具链所需要的软件包的目录.RESULT_TOP=$HOME/arm/4.1.0 //最终生成的工具链所在的目录.export TARBALLS_DIR RESULT_TOPGCC_LANGUAGES="c,c++"export GCC_LANGUAGES# Really, you should do the mkdir before running this,# and chown /opt/crosstool to yourself so you don't need to run as root.mkdir -p $RESULT_TOP#eval `cat arm.dat gcc-2.95.3-glibc-2.1.3.dat` sh all.sh --notest#eval `cat arm.dat gcc-2.95.3-glibc-2.2.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-2.95.3-glibc-2.2.5.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.2.3-glibc-2.3.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.3.6-glibc-2.2.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.2.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest#eval `cat arm.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.0.2-glibc-2.2.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6-tls.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.1.0-glibc-2.2.2.dat` sh all.sh --notest#eval `cat arm.dat gcc-4.1.0-glibc-2.3.2.dat` sh all.sh --notesteval `cat arm.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest//该脚本文件显示了目前所能成功制作的交叉编译工具链的一些版本,选择我们所需要的版本,既去掉前面的注释,没被选择的版本号直接注释掉即可.$cat ./gcc-4.1.0-glibc-2.3.2-tls.dat//打开所选择的交叉工具链所对应的文件,里面有成功制作出//该工具链的GCC,GLIBC等软件包的一些组合.BINUTILS_DIR=binutils-2.16.1GCC_CORE_DIR=gcc-3.3.6GCC_DIR=gcc-4.1.0GLIBC_DIR=glibc-2.3.2LINUX_DIR=linux-2.6.15.4LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2GDB_DIR=gdb-6.5GLIBC_EXTRA_CONFIG="$GLIBC_EXTRA_CONFIG --with-tls --with-__thread --enable-kernel=2.4.18"下载所需的软件包到指定的目录,虽然该脚本启动会自动下载所需软件包,但还是推荐手动下载所需的软件包.(自动下载时速度可能比较慢)

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: