momo zone

调核人的blog

MIPS架构的交叉编译工具问题

某些MIPS的嵌入式提供了六种交叉编译工具GCC,如下:
· mipsel-linux-gcc
· mipsel-linux-uclibc-gcc
· mipsel-uclibc-gcc
· mips-linux-gcc
· mips-linux-uclibc-gcc
· mips-uclibc-gcc
先说一下uclibc(其实应该叫µClinux
uClinux 这个词的u和C 分别指的是mu(micro)和control。也就是"MicroController Linux" 。有意思的是,他的发音也同时可以叫做 you-see-Linux 。他是linux内核的一个“分支”,专门为了微控制器设计(不带有存储管理单元MMU)。而且他也是目前主流嵌入式系统ARM,MIPS的运行基础。
这六种有什么区别?分别用于什么情况呢?
1)首先,mips和mipsel的主要区别在于Big Endian(大端)和Little Endian(小端)结构。
mips对应的是Big Endian;
mipsel对应的是Little Endian。
2)其次,要明白uclibc库。
uclibc库其实有两个分别是uC-libc和uClibc。uC-libc是比较古老的一版,只实现了glibc的最小接口集。后来又有人写了uClibc,基本实现了glibc的接口和功能,这才使嵌入式平台的开发成熟起来。现在基本有时在用后者了。可以把uClibc当作glibc的lite版。
uClibc库是面向嵌入式Linux系统开发优化的C语言库。比GNU C Library更小,但接口兼容,且更易于配置。
uClibc可运行于标准的以及无MMU的Linux系统之上,支持i386、x86、x64、ARM、AVR32、Blackfin、H8300、M68K、MIPS、PowerPC、SuperH、SPARC和V850等处理器下列。
mips-uclibc-gcc表示采用uClibc库进行编译的GCC。
3)至于第三点“是否带linux的区别”则不清楚,以后再补充吧。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: