欢迎来到天天文库
浏览记录
ID:8802190
大小:33.50 KB
页数:3页
时间:2018-04-08
《arm-linux-gcc和arm-elf-gcc区别》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、arm-linux-gcc和arm-elf-gcc区别[转]http://hi.baidu.com/cb_blog/blog/item/3d349e8f8a203efc503d926e.html如果能用一句话说明白arm-linux-gcc和arm-elf-gcc的区别的话,如何来说呢?arm-linux-gcc是针对arm+linux的开发环境的,kernel使用的是linux,不是uclinux,arm是有硬件MMU的。而arm-elf-gcc是针对noMMUarm+uclinux的开发环境,kernel使用的是uclinux
2、,硬件是廉价的无MMU的arm芯片。arm-linux-gcc倒是有点类似X86PC环境下的linux开发。[转]http://hi.baidu.com/zybuaa/blog/item/2817f1faac4f25dcb48f3146.html 在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种:arm-linux-*和arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用uClibc/uC-libc或者使用REDHAT专门为嵌入
3、式系统的开发的C库newlib.Glibc。uClibc/uC-libc以及newlib都是C语言库文件,只是所应用的领域不同而已,Glibc是针对PC开发的,uClibc/uC-libc是与GlibcAPI兼容的小型化C语言库,实现了Glibc部分功能。 关于uClibc/uC-libc的说明,详见如下: TherearetwolibclibrariescommonlyusedwithuClinux.uC-libcanduClibc.Theyarequitedifferentdespitetheirsimilarnames
4、.Hereisaquickoverviewofhowtheyaredifferent. uC-libcistheoriginallibraryforuClinux.ItwasbasedonsourcesfromtheLinux-8086ClibrarywhichwaspartoftheELKsprojectwithm68000supportaddedbyJeffDionneandKennethAlbanowski.Itisafairlycompletelibcimplementation,however,someoftheAPI
5、'sarealittlenon-standardandquiteafewcommonlibcroutinesarenotpresent.Currentlyithasstablesupportform68000,ColdFireandARM(Non-MMU)architectures.Itwasprimarydesigngoalistobesmallandlightweight.Itdoestrytoconformtoanystandards,althoughitsAPItriestobecompatiblewithmostlibc
6、s,itisnotalwaysexactlythesame. TheuClinuxdistributionprovidesanenvironmentthatcancompileusingeitheruC-libcoruClibcdependingonyourneeds.Form68000andColdfireplatformsitisgenerallybettertochoseuC-libcasitsupportssharedlibrariesandisthemostcommonlyusedlibcfortheseCPUs.uC
7、libcalsoworksquitewellwithalmostallplatformssupportedbythedistribution.Whichlibcyouchoosetousewillbedecidedbyyourrequirements 译文: uClinux有两个经常使用的libc库:uC-libc和uClibc。虽然两者名字很相似,其实有差别,下面就简单的介绍一下二者的不同之处。uC-libc是最早为uClinux开发的库,是JeffDionne和KennethAlbanowski为在EKLs项目中支持m
8、68000在Linux-8086C库源码上移植的。uC-libc是一个完全的libc实现,但其中有一些api是非标准的,有些libc的标准也没有实现。uC-libc稳定地支持m68000,ColdFire和没有MMU的ARM。其主要设计目标是“小”
此文档下载收益归作者所有