EABI还是GNU/Linux:如何正确选择合适的交叉工具链

 

我们自己可以编译制作一个交叉编译工具链(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。

 

这下明白了?

 

转载自:http://blog.csdn.net/jackyu613/article/details/6211217

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