powerpc交叉编译工具链的制作

powerpc交叉编译工具链的制作

ID:9851095

大小:49.50 KB

页数:7页

时间:2018-05-12

powerpc交叉编译工具链的制作_第1页
powerpc交叉编译工具链的制作_第2页
powerpc交叉编译工具链的制作_第3页
powerpc交叉编译工具链的制作_第4页
powerpc交叉编译工具链的制作_第5页
资源描述:

《powerpc交叉编译工具链的制作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PowerPC交叉编译工具链的制作提交者:Addylee日期:2009/11/1721:13阅读:231摘要:本文主要讨论在X86平台上制作一个PowerPC的交叉编译工具链的方法和步骤。标题1.交叉编译工具链的基本概念2.准备工作3.InstallKernelHeaders4.Binutils5.GCC第一遍6.Glibc7.gcc第二遍8.总结交叉编译工具链的基本概念什么是交叉编译工具链,这是许多初学者的首要问题。通常我们已经习惯在X86平台上运行gcc,对源程序进行编译,编译得到的目标程序,仍然是在X86平台上跑的。而交叉编译

2、工具链就是,需要在某个平台上,对源程序进行编译,但是得到的目标程序却是在另外一个平台上运行的。交叉编译工具链的制作包含哪些基本概念。我们已经知道,在某个平台对程序进行编译后,得到的目标程序,默认也是在该平台运行的(例如X86)。所以我们通常需要在现有平台(通常我们把这个平台称为Host)的基础上,制作出一个交叉编译工具链(包括gcc,binutils,glibc),得到新的gcc仍然是在该平台(通常我们把该平台称为Host)上运行的,但是当利用新的gcc去对某个源程序进行编译时,得到的目标程序是在目标平台上运行的(通常我们把该平台称

3、为Target)。因此,现在我们知道,制作交叉编译工具链少不了要先编译一个gcc和binutils(包括链接器ld,strip等工具),但是仅仅是这两个还不够的。我们知道,在对源程序进行编译时,少不了要依赖一些库,例如C运行时库(glibc),而你的Host中的库,它是针对Host体系结构的。例如你的X86中的库,其机器指令一定是X86的。这样,你的交叉编译工具链中,必须有目标平台的库。你肯定已经想到了,先编译好gcc和binutils,然后用这个gcc编译目标平台的库,然后就可以在这个库的基础上,编译目标平台的程序了。现在你已经可

4、以想到制作一个交叉编译工具链的步骤了,但是很快你会看到,在gcc的编译过程中,我们需要编译2遍,这是为什么呢?一个全面的gcc(支持各种语言的),需要目标平台的C库(glibc)的一些头文件,但是这个新的gcc编译出来之前,我们又没有安装目标平台的库(glibc)。所以我们先编译一个基本的gcc(仅仅支持C语言),然后用这个gcc编译目标平台的glibc,注意此时得到的glibc是目标平台的。最后,再在这个库的基础上,重新编译一个全面的gcc。除此之外,我们还要准备好内核头文件,这样我们就可以直接使用内核的一些宏,数据结构定义,数据

5、类型,等等。在有了这些概念的基础上,下面的操作就相对比较简单了。这里需要提醒的是,同样的编译参数,不同的编译环境,或者不同的gcc,binutils,glibc版本,都可能编译不成功。根据我的经验,制作交叉编译工具链,一帆风顺就成功是很少见的。因此在编译过程中,如果遇到失败,耐心+细心的分析config.log,Makefile,可以帮助你定位问题。尤其对于新手来说,千万不要急于求成,妄想直接复制一下命令行,一步步编译就成功。我建议只是先看完一遍,对自己要做什么,和每一步的目的有个大概的了解,然后再开始。欲速则不达,这个道理很简单,

6、恐怕只有多品位几次才能体会。另外,千万不要以超级用户(root)的身份来制作交叉编译工具链,否则一不小心用target平台的库,把Host平台上的库给覆盖了,后果可是很严重哦!准备工作cd$HOMEmkdirppccdppcmkdirsourcescdsourceswgethttp://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2wgethttp://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.bz2wgethttp://ftp.gnu.org/gnu/gl

7、ibc/glibc-linuxthreads-2.5.tar.bz2wgethttp://ftp.gnu.org/gnu/gcc/gcc-4.4.2/gcc-4.4.2.tar.bz2wgetftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.bz2wgetftp://ftp.gnu.org/gnu/gmp/gmp-4.3.1.tar.bz2wgethttp://www.mpfr.org/mpfr-current/mpfr-2.4.1.tar.bz2mkdir../

8、toolsexportTARGET=powerpc-linuxexportTOOLS=~/ppc/toolsexportSOURCES=~/ppc/sourcesexportLANGUAGE=CexportLC_ALL=CInstal

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

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

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