您的位置:首页 > 运维架构 > Linux

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

2012-09-06 14:28 369 查看
转自:/article/7601446.html

并对里面的一些信息做了更新。

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

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

Target OSDownload
EABISourcery CodeBench Lite 2012.03-56

All versions...
uClinuxSourcery G++ Lite 2011.03-46

All versions...
GNU/LinuxSourcery CodeBench Lite 2012.03-57

All versions...
SymbianOSSourcery CodeBench Lite 2012.03-42

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

在codesourcery的一个页面(http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/which-one)上我们找到了答案:


EABI/ELF

RTOS systems or "bare metal" systems where no operating system is present. These toolchains should not be used to build Linux kernels or applications.


uClinux

Systems running uClinux, i.e. Linux on CPUs without an MMU. Use Sourcery CodeBench to build both the uClinux kernel and applications.


GNU/Linux

Systems running "full" Linux, i.e., Linux on CPUs with an MMU. Use Sourcery CodeBench to build both the Linux kernel and applications.


Windows

Systems running Microsoft Windows 2000, or any later version.


Brew MP

Full support for the Qualcomm Brew MP platform

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

这下明白了?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: