图1:
嵌入式Linux分类:
第一类是在利用Linux强大功能的前提下,使它尽可能的小,以满足许多嵌入式系统对体积的要求,如uClinux(http://www.uclinux.org); 第二类是将Linux开发成实时系统尤其是硬/firm实时系统,应用于一些关键的控制场合,如Fsmlabs公司(http://www.rtlinux.org)的RTLinux、MontaVist
(http://www.mvista.com)的Hard Hat Linux等; 第三类的产品就是将实时性和嵌入式方案结合起来的方案,很多公司都这么做,并且提供集成化的开发方案,如Lineo、TimeSys、合肥华恒等。
为什么要用uClinux?
全球每年生产的CPU的数量在二十亿颗左右,超过80%应用于专用性很强的各类嵌入式系统。其中又有相当一部分面向低端市场。为降低硬件成本及运行功耗,有一类CPU在设计中取
消了内存管理单元(Memory Management Unit,简称MMU)功能模块。如Motorola公司的M68328、M68EN322 、MC68360、DragonBall系列如68EZ328、68VZ328,ColdFire系列的如
5272、5307,ARM7TDMI and MC68EN302、ETRAX、Intel i960、PRISMA、Atari 68k等等。标准Linux针对有MMU的处理器设计。在这种处理器上,虚拟地址被送到MMU,把虚拟地址映
射为物理地址。通过赋予每个任务不同的虚拟地址/物理地址转换映射,可支持不同任务之间的保护。
uClinux是什么?
最初,运行于这类没有MMU的CPU之上的都是一些很简单的单任务操作系统,或者更简单的控制程序,甚至根本就没有操作系统而直接运行应用程序。在这种情况下,系统无法运行
复杂的应用程序,或者效率很低,而且,所有的应用程序需要重写,并要求程序员十分了解硬件特性。这些都阻碍了应用于这类CPU之上的嵌入式产品开发的速度。 然而,随
着uCLinux的诞生,这一切都改变了。
uCLinux是一个完全符合GNU/GPL公约的项目,完全开放代码,现由Lineo公司支持维护。英文单词中u表示Micro,小的意思,C表示Control,控制的意思,所以uCLinux就是Micro-
Control-Linux,字面上的理解就是“微控制领域中的Linux系统”。它专门针对没有MMU的CPU,并专为嵌入式系统做了许多小型化的工作,已支持前面提到的多款CPU。官方主页在
http://www.uclinux.org。国内从事uclinux开发有合肥华恒科技等几家公司 。
uClinux的奠基者:
图2 D. Jeff Dionne
图3 Kenneth Albanowski
其核心开发人员12人左右。To join, send mail to majordomo@uclinux.org with the command "subscribe uclinux-dev" in the body of the message. |