EABI还是GNU/Linux:如何正确选择合适的交叉工具链(嵌入式 Linux)(转)

来源:
http://hi.baidu.com/bbqlog/blog/item/defa5e08c58b603e6a60fb8e.html

我们自己可以编译制作一个交叉编译工具链(Cross-compile Toolchain)来用,但为了方便、稳定起见,我们大多数时候会去选择成熟的第三方工具链。

codesourcery的交叉工具链是很常见的一种,以ARM为例,我们可以从http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite处下载到最新的版本:

Target OS Download
EABI Sourcery G++ Lite 2010.09-51
All versions... 
uClinux Sourcery G++ Lite 2010.09-58
All versions... 
GNU/Linux Sourcery G++ Lite 2010.09-50
All versions... 
SymbianOS Symbian ADT Sourcery G++ Lite 4.4-172
All versions... 

可以看到有4个OS平台版本可供选择,那么该选择哪一个下载呢?

在codesourcery的一个页面上我们找到了答案:

This table applies to the target system on which your applications will run, not to the host system on which you run Sourcery G++.
Target Platform Description
EABI/ELF RTOS systems or bare metal systems where no operating system is present. These configurations should not be used to build Linux kernels or applications. 
uClinux? Systems running uClinux, i.e. Linux on CPUs without an MMU. Use Sourcery G++ to build both the uClinux kernel and applications.
GNU/Linux? Systems running full Linux, i.e., Linux on CPUs with an MMU. Use Sourcery G++ to build both the Linux kernel and applications.
Microsoft Windows? Systems running Microsoft Windows 2000, or later. 

也就是说,如果打算用来编译linux kernel或者基于linux的应用程序,则应该选择GNU/Linux;EABI/ELF适用于没有操作系统(或者RTOS)的裸机;uClinux适用于没有MMU的Linux。

你可能感兴趣的:(EABI还是GNU/Linux:如何正确选择合适的交叉工具链(嵌入式 Linux)(转))