交叉编译

来源:互联网 发布:自动化编程 编辑:程序博客网 时间:2024/05/06 05:21
 一. 什么是交叉编译
        交叉编译就是在一种平台上编译出另一种平台上的可执行代码。
        比如在进行嵌入式系统开发时,我们经常使用ARM+Linux平台,这里的平台涉及到了2方面的内容,一方面是是硬件平台(ARM系统结构),另一方面是 操作系统(Linux操作系统)。但是由于嵌入式系统的资源有限(比如存储空间有限),我们往往不能直接在嵌入式系统平台上来直接进行程序的编译。这时 候,我们可以在X86平台(X86+Linux或X86+Windows)上借助交叉编译工具编译能运行在以ARM为内核的CPU平台上的可执行代码,当 然我们编译得到可执行代码在X86 CPU平台上是不能运行的。
二. ARM-Linux交叉编译工具链
        交叉编译工具链是一个由编译器、连 接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。有时出于减小 libc 库大小的考虑,也可以用别的 c 库来代替 glibc。
        建立交叉编译工具链是一个相当复杂的过程,这里有几篇参考资料:
        如何为嵌入式开发建立交叉编译环境
        构建ARM Linux交叉编译工具链  (或看这里的转载 交叉编译工具链的构建(转自《ARM嵌入式Linux系统开发从入门到精通》)  )
        生成Linux2.6/2.4交叉编译工具链
        所需的软件包可到ftp://ftp.gnu.org/下载,也可以到http://download.chinaunix.net/下载。

        如果不是为了学习如何生成交叉编译工具链,则可以到网上下载现成的交叉编译工具链:
        http://ftp.snapgear.org/pub/snapgear/tools/ (直接下载20070808版)
        ftp://ftp.denx.de/pub/eldk/
        http://www.gnuarm.org/

记:生成个交叉编译工具把我搞烦了,还是直接使用现有的,来自于ftp.snapgear.org的交叉编译工具链20070808版不错,只可惜解压后900多M,还好可以接受。
原创粉丝点击