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

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

2012-10-29 14:13 393 查看
来源:
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: