关于arm-elf-/arm-linux-和uc-libc/uclibc/glibc

arm-elf-*和arm-linux-*都是ARM嵌入式系统开发中常常用到的交叉编译工具链,两者的主要区别在于使用不同的C函数库。 arm-linux-*使用PC上比较常见的GLibc,而arm-elf-*使用在一定程度上兼容GLibc但更轻量级的uC-libc或 uClibc。

uC-libc和uClibc虽然名称非常相似,但却是两个不同的C函数库。uC-libc最初被作为uClinux的C函数库,它是在 Linux-8086 C函数库的基础上发展起来的,目前依然稳定支持m68k、coldfire和ARM(non-MMU)架构的处理器。由于uC-libc的主要目标为保持 小的体积和轻量级,而不是遵循某种C函数库标准,因此和GLibc的兼容性并不是很好。

uClibc是在uC-libc的基础之上发展起来的,其主要目标就是为了解决uC-libc的兼容性问题,因此应用程序能够很容易地从GLibc 移植到uClibc。uC-libc支持更多的处理器架构,包括m68k, Coldfire, ARM, MIPS, v850, x86, i960, Sparc, SuperH, Alpha, PowerPC……随着uClibc的发展,这个列表依然在不断扩展中。uClinux套件的配置系统允许开发者在uC-libc和uClibc之间进行 选择,如果使用了m68k或coldfire架构的处理器,建议使用uC-libc。

www.uclinux.orgftp.snapgear.org 都提供arm-elf-*工具链的下载,不过都是基于gcc v2.95.3版本的,所使用的uClibc也比较旧。ELDK也有基于uClibc的版本。或者,也可以使用buildroot 手工编译一个工具链。

 

参考:
What is the difference between uC-libc and uClibc

GLibc vs uClibc

 

原文地址:http://www.cnitblog.com/buf/archive/2009/01/07/53582.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值