User Tools

Site Tools


zh-cn:about:toolchain

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

zh-cn:about:toolchain [2012/12/18 17:04] (current)
Line 1: Line 1:
 +====== OpenWrt Buildroot – About ======
  
 +**OpenWrt Buildroot** 包含了一系列 Makefiles 和 patches, 方便在嵌入式系统上生成交叉编译工具链和 root 文件系统. 它是在Buildroot ([[http://​www.buildroot.org/​]]) 的基础上做了大量修改. 交叉编译工具链使用了一个轻巧的 C 标准库, uClibc ([[http://​www.uclibc.org/​]]).
 +
 +交叉编译工具链是用来在你的系统上编译代码的工具集合. 其中包括编译器(这里用的是''​[[wp>​GNU Compiler Collection|gcc]]''​ / [[http://​packages.debian.org/​squeeze/​gcc|deb:​ gcc]]), 二进制工具,​ 比如汇编器和连接器(这里用了 ''​[[wp>​GNU Binutils|binutils]]''​ / [[http://​packages.debian.org/​squeeze/​binutils|deb:​ binutils]] ),​以及c标准库[[wp>​C standard library]](例如 GNU Libc, uClibc 或 dietlibc). ​ 如果你用的是 PC, 你的编译工具链运行在 x86 处理器上,​ 生成的代码也是给 x86 处理器使用的. 大部分的 linix 操作系统里,​ 编译工具链用了 GNU libc 作为 C标准库. 这类编译工具链被成为 "host compilation toolchain",​ 通常, 把运行它的机器,​ 也就是用户用着的,​ 叫作 "host system"​. 编译工具链是由用户的发行版提供的,​ OpenWrt Buildroot 跟它一点关系都没有.
 +
 +正如上面所说的,​ 编译工具链是在你系统里面执行,​ 并且为主机系统的处理器生成代码的. 但是你的嵌入式系统用着不同的处理器,​ 所以需要这样一个交叉编译工具链:​ 它运行在你的主机系统上,​ 但是产生的代码是用在你目标系统上,​ (和相关[[doc:​hardware:​cpu|处理器]] 的 ISA). 举个例子,​ 如果你的主机系统是 x86 的, 而你的目标系统是 MIPS32, 你主机上普通的编译工具链运行在 x86 上, 产生代码也是给 x86 用的, 然而 交叉编译工具链运行在 x86 上, 生成的代码是给 MIPS32 用的.  ​
 +
 +你可能觉得奇怪,​ 既然可以手动编译''​gcc'',​ ''​binutils'',​ ''​uClibc''​等等所有工具,​ 干嘛还需要这样一个工具. 当然, 所有的事情你都可以亲自动手解决. 但是解决 ''​gcc'',​ ''​binutils''​ 配置选项和版本问题,​ 费时费力又不好玩. OpenWrt Buildroot 通过 Makefiles 把相关流程都自动化了,​ 并且通过一系列的 patch, 使得每个版本的''​gcc''​ and ''​binutils''​ 都能正常运行在各种指令集架构的嵌入式系统之上.
 +
 +虽然 OpenWrt Buildroot 主要面向开发者,​ 但是对于最终用户而言,​ 用它来编译一个定制版的固件,​ 也是很简单的.
 +
 +
 +==== 相关文档 ====
 +  * [[http://​downloads.openwrt.org/​docs/​buildroot-documentation.html]] 2006年完成的靠谱文档. 只有一些内容有点过时而已!
 +
 +  - [[about:​toolchain|OpenWrt Buildroot – About]]
 +  - [[doc:​howto:​buildroot.exigence|OpenWrt Buildroot – Installation]]
 +  - [[doc:​howto:​build|OpenWrt Buildroot – Usage]]
 +  - [[doc:​devel:​feeds|OpenWrt Buildroot – Feeds]]
 +  - [[doc:​techref:​buildroot|OpenWrt Buildroot – Technical Reference]] {{:​meta:​icons:​tango:​48px-construction.svg.png?​nolink&​16}} 这篇文章 //​值得一看//​ .
 +
 +  * Keed in mind that there are 4 methods to [[doc:​howto:​obtain.firmware]]
zh-cn/about/toolchain.txt · Last modified: 2012/12/18 17:04 (external edit)