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

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

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

Target OS Download EABISourcery G++ Lite 2010.09-51All versions… uClinuxSourcery G++ Lite 2010.09-58All versions… GNU/LinuxSourcery G++ Lite 2010.09-50All versions… SymbianOSSymbian ADT Sourcery G++ Lite 4.4-172All 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:如何正确选择合适的交叉工具链

相关文章:

你感兴趣的文章:

标签云: