交叉编译器

 http://linuxfromscratch.org/clfs/view/clfs-2.0/arm/

https://www.cnblogs.com/leaven/archive/2010/11/17/1879679.html

build / host / target

这是三个平台,其中host / target的概念我们在以前VxWorks产品的开发中应该已经比较了解。以目前我们的工作环境和项目为例,host就是x86(PENTIUM)+Windows,target就是PPC+VxWorks。

build: 我们制作交叉编译器的平台,即我们的临时工作环境。
host: 交叉编译器运行的平台,即我们将来使用交叉编译器生成目标软件的平台。
target: 目标平台,即交叉编译器编译出来的东东运行的平台。

如果我们在PC+linux的环境上制作交叉编译器,那么build就是x86+linux,当然配置代码的时候不是这么表示,常见的平台表示方法有:
i686-pc-linux-gnu
powerpc-wrs-vxworks
i586-mingw32msvc
等等。

process

以下三图就是制作交叉编译器的过程,红色方框内是我们最终生成的交叉编译器。

上图表明,build / host / target各不一样。

build平台上的原始gcc / binutils / libc只能生成build平台上运行的程序。

因此我们需要先编译出一个不同于原始gcc / binutils的工具链,就是1# gcc / binutils,
这个工具链运行于build平台,但生成的程序是运行在host平台上的。

使用1#工具链,生成2#工具链。
2#工具链工作于host平台,编译出的程序运行于target平台,2#就是我们需要的交叉编译工具。

如果target的解决方案中已经提供了商业的libc库(如VxWorks库),则不需要单独编译libc。
如果需要libc库,则该库由1#工具链生成。

 

转载于:https://www.cnblogs.com/realplay/p/9867526.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值