Chinaunix

标题: 交叉编译详解 [打印本页]

作者: crifan    时间: 2013-09-05 18:09
标题: 交叉编译详解
最近整理的,关于交叉编译方面的内容。
需要的可以参考:


交叉编译详解
    版本:v1.2

Crifan Li

摘要
本文主要介绍了什么是交叉编译,为何要有交叉编译;解释了什么是工具链,什么是交叉工具链;详解解释了交叉编译器的名字的命名规则,以及如何获得交叉编译器,制作交叉编译器的各种工具,使用已有的交叉编译器和自己手动编译交叉编译器之间的对比;最后总结了交叉编译方面的心得和注意事项。
本文提供多种格式供:
在线阅读
下载(7zip压缩包)

HTML版本的在线地址为:
http://www.crifan.com/files/doc/docbook/cross_compile/release/html/cross_compile.html




    2013-09-03

修订历史
修订 1.2
2013-09-03
crl
  • 将帖子内容整理过来
  • 添加了关于交叉编译器命名规则的解释
  • 添加了使用已有的交叉编译器和自己手动编译交叉编译器之间的对比
  • 补充完整帖子引用



版权 © 2013 Crifan, http://crifan.com

本文章遵从:署名-非商业性使用 2.5 中国大陆(CC BY-NC 2.5)





目录
前言
1. 本文目的
2. 待完成
1. 交叉编译简介
1.1. 什么是交叉编译
1.2. 为何要有交叉编译
2. 交叉工具链简介
2.1. 什么是工具链
2.2. 什么是交叉工具链
3. 交叉编译器简介
3.1. 交叉编译器的名字的命名规则
3.1.1. 交叉编译器名字举例
3.1.2. crosstool-ng中交叉编译前缀的命名规则
3.1.2.1. 交叉编译器名字中的arch部分
3.1.2.1.1. crosstool-ng中arch的值
3.1.2.2. 交叉编译器名字中的vendor部分
3.1.2.2.1. crosstool-ng中vendor的值
3.1.2.3. 交叉编译器名字中的kernel部分
3.1.2.3.1. crosstool-ng中kernel的值
3.1.2.4. 交叉编译器名字中的system部分
3.1.2.4.1. system中的gnu
3.1.2.4.1.1. crosstool-ng中system为gnu的情况
3.1.2.4.2. system中的eabi
3.1.2.4.2.1. crosstool-ng中system为eabi的情况
3.1.2.4.3. system中的uclibc
3.1.2.4.3.1. crosstool-ng中system为uclibc的情况
3.2. 如何得到交叉编译器
3.2.1. 拿来主义:直接去下载和使用别人已经编译好的交叉编译器
3.2.2. 自己动手,丰衣足食:自己去编译出来一套自己想要的交叉编译器
3.2.2.1. 白手起家从头开始制作交叉编译器
3.2.2.2. 借助别人的工具去制作交叉编译器
3.3. 各种制作交叉编译器的工具
3.3.1. crosstool-NG
3.3.2. Buildroot
3.3.3. crosstool
3.3.4. Embedded Linux Development Kit (ELDK)
3.3.5. OpenEmbedded的BitBake
3.3.6. Crossdev
3.3.7. OSELAS.Toolchain()
3.4. 使用已有的交叉编译器和自己手动编译交叉编译器之间的对比
3.4.1. 使用已有交叉编译器的优点
3.4.2. 使用已有交叉编译器的缺点
3.4.3. 自己手动编译交叉编译器的优点
3.4.4. 自己手动编译交叉编译器的缺点
4. 交叉编译心得和注意事项
4.1. 交叉编译心得和注意事项
参考书目
范例清单
1.1.在x86平台上编译,在ARM平台上运行
3.1.举例:交叉编译器中的arch的值
3.2.举例:交叉编译器中的vendor的值
3.3.举例:交叉编译器中的kernel的值
3.4.举例:交叉编译器中的system的值
3.5.购买了TQ2440的开发板,就送了对应的交叉编译器




作者: luoops    时间: 2013-09-07 10:55
强顶,最近做移植,老师遇到工具链库函数问题!!!
作者: Vixyl    时间: 2013-09-08 14:24
感谢楼主了,精品




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2