資源描述:
《arm-linux-gcc和arm-elf-gcc區(qū)別》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、arm-linux-gcc和arm-elf-gcc區(qū)別[轉(zhuǎn)]http://hi.baidu.com/cb_blog/blog/item/3d349e8f8a203efc503d926e.html如果能用一句話說(shuō)明白arm-linux-gcc和arm-elf-gcc的區(qū)別的話,如何來(lái)說(shuō)呢?arm-linux-gcc是針對(duì)arm+linux的開(kāi)發(fā)環(huán)境的,kernel使用的是linux,不是uclinux,arm是有硬件MMU的。而arm-elf-gcc是針對(duì)noMMUarm+uclinux的開(kāi)發(fā)環(huán)境,kernel使用的是uclinux
2、,硬件是廉價(jià)的無(wú)MMU的arm芯片。arm-linux-gcc倒是有點(diǎn)類似X86PC環(huán)境下的linux開(kāi)發(fā)。[轉(zhuǎn)]http://hi.baidu.com/zybuaa/blog/item/2817f1faac4f25dcb48f3146.html????在基于ARM的嵌入式系統(tǒng)開(kāi)發(fā)中,常常用到交叉編譯的GCC工具鏈有兩種:arm-linux-*和arm-elf-*,兩者區(qū)別主要在于使用不同的C庫(kù)文件。arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用uClibc/uC-libc或者使用REDHAT專門(mén)為嵌入
3、式系統(tǒng)的開(kāi)發(fā)的C庫(kù)newlib.Glibc。uClibc/uC-libc以及newlib都是C語(yǔ)言庫(kù)文件,只是所應(yīng)用的領(lǐng)域不同而已,Glibc是針對(duì)PC開(kāi)發(fā)的,uClibc/uC-libc是與GlibcAPI兼容的小型化C語(yǔ)言庫(kù),實(shí)現(xiàn)了Glibc部分功能。? 關(guān)于uClibc/uC-libc的說(shuō)明,詳見(jiàn)如下: 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有兩個(gè)經(jīng)常使用的libc庫(kù):uC-libc和uClibc。雖然兩者名字很相似,其實(shí)有差別,下面就簡(jiǎn)單的介紹一下二者的不同之處。uC-libc是最早為uClinux開(kāi)發(fā)的庫(kù),是JeffDionne和KennethAlbanowski為在EKLs項(xiàng)目中支持m
8、68000在Linux-8086C庫(kù)源碼上移植的。uC-libc是一個(gè)完全的libc實(shí)現(xiàn),但其中有一些api是非標(biāo)準(zhǔn)的,有些libc的標(biāo)準(zhǔn)也沒(méi)有實(shí)現(xiàn)。uC-libc穩(wěn)定地支持m68000,ColdFire和沒(méi)有MMU的ARM。其主要設(shè)計(jì)目標(biāo)是“小”