构建交叉编译工具链完全手册

构建交叉编译工具链完全手册

ID:4146973

大小:228.78 KB

页数:5页

时间:2017-11-29

构建交叉编译工具链完全手册_第1页
构建交叉编译工具链完全手册_第2页
构建交叉编译工具链完全手册_第3页
构建交叉编译工具链完全手册_第4页
构建交叉编译工具链完全手册_第5页
资源描述:

《构建交叉编译工具链完全手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、构建交叉编译工具链完全手册说明:此文档为顶嵌李亚峰老师所做,仅通过Crosstool工具进行构建。本人在对照文档进行构建是出现了一点小问题,因此将解决方法嵌入其中,供大家参考。如遇到问题欢迎提出。在此感谢李亚峰老师。第一阶段:工具链编译第一部分;Crosstool是由美国人DanKegel(毕业于加(利福尼亚)州工学院)开发的一套可以自动编译不同匹配版本gcc和glibc,并作测试的脚本程序。Crosstool最初是为嵌入式系统开发者创建,但也适用于主流开发者比如只是希望他们去快速编译或需要建立程序,可运行在旧版本的Linux操作系统(例如RedHat的6.2)。Cros

2、stool是一种便携式的shell脚本。你可以使用它来建立Linux系统配置的编译器是运行在Linux,MacOSX操作系统,Solaris和Cygwin等。它支持的硬件平台有:alpha,arm,i686,ia64,mips,powerpc,powerpc64,sh4,sparc,sparc64,s390,x86_64等。在实践之前,我们需要回答这样的问题,为什么要使用交叉编译器?主要原因是嵌入式硬件(目标机)的性能一般都无法满足开发环境的要求,比如主频比较低、内存少、没有硬盘(常用FLASH作为存储设备)、没有大型显示设备、没有全键盘等。交叉编器通常是采用PC(x86

3、)作为主机来搭建开发环境进行编译,但编译出的软件能够在特定CPU体系架构的目标设备(比如ARM设备)上运行的一套编译工具。下面将以具体操作步骤来讲述Crosstool构建针对ARM平台的交叉编译器。注:该实验是基于Fedora10操作系统下进行,其他Linux发行版可能会有所不同。1.准备资源文件软件包名称下载站点crosstool-0.43.tar.gzhttp://kegel.com/crosstool/crosstool-0.43.tar.gzbinutils-2.15.tar.bz2http://ftp.gnu.org/gnu/binutils/gcc-3.4.5

4、.tar.bz2http://ftp.gnu.org/gnu/gccglibc-2.3.6.tar.bz2http://ftp.gnu.org/gnu/glibcglibc-linuxthreads-2.3.6.tar.bz2http://ftp.gnu.org/gnu/glibclinux-2.6.28.2.tar.bz2http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-libc-headers-2.6.12.0.tar.bz2http://ep09.pld-linux.org/~mmazur/linux-libc-he

5、aders/首先从网上下载上述资源文件:binutils-2.15.tar.bz2,gcc-3.4.5.tar.bz2,glibc-2.3.6.tar.bz2,glibc-linuxthreads-2.3.6.tar.bz2,linux-2.6.28.2.tar.bz2和linux-libc-headers-2.6.12.0.tar.bz2。然后将这些工具包文件放在开放主机的/home/mike/downloads目录(该目录根据个人使用习惯不同可修改)下,最后在/home/mike目录下解压crosstool-0.43.tar.gz,命令如下:#cd/home/mike

6、#tar-xvzfcrosstool-0.43.tar.gz2建立脚本文件接着需要建立自己的编译脚本,起名为arm.sh,为了简化编写arm.sh,寻找一个最接近的脚本文件demo-arm.sh作为模版,然后将该脚本的内容复制到arm.sh,修改arm.sh脚本,具体操作如下:#cdcrosstool-0.43#cpdemo-arm.sharm.sh#viarm.sh修改后的arm.sh的脚本内容如下:#!/bin/shset-exTARBALLS_DIR=/home/mike/downloads#定义工具链源码所存放位置。RESULT_TOP=/opt/crosstoo

7、l#定义工具链的安装目录exportTARBALLS_DIRRESULT_TOPGCC_LANGUAGES="c,c++"#定义支持C,C++语言exportGCC_LANGUAGES#创建/opt/crosstool目录mkdir-p$RESULT_TOP#编译工具链,该过程需要数小时完成。eval`catarm.datgcc-3.4.5-glibc-2.3.6.dat`shall.sh--notestechoDone.第一阶段:工具链编译第二部分;#!/bin/shset-exTARBALLS_DIR=/home/mike

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。