Saturday, January 13, 2007

几种开源嵌入式操作系统

uC/OS-II是赫赫有名的开源嵌入式OS,但如果用于商业目的,需要授权。内核简单清晰,是学习嵌入式实时操作系统极好的入门材料。近来增加了uC/GUI图形界面,uC/FS文件系统,uC/TCP网络功能,这些都是要收费的。进行简单的开发还是不错的选择。在8位的51系列单片机用的很多,16位、32位也支持。
FreeDOS,是开源的兼容DOS。自从微软抛弃DOS,一心一意谋Windows,开源社区就开发了FreeDOS。DOS的几个缺点:单进程,网络功能弱。用于DOS免费的网络协议栈已经有了。要做真正的嵌入式,当慢腾腾又臃肿的AWORD生产的BIOS伤你的心时,你需要开发一个嵌入式的BIOS,主要用X86汇编。台湾很多公司喜欢用兼容DOS,毕竟DOS时代的程序员还在。FreeDOS是X86系列嵌入式OS的首选,特别是80186兼容的16位,80386兼容的32位。
eCOS是真正的GPL实时嵌入式OS,大概比uC/OS-II大一倍,是因为Linux的实时性不好开发的,很有前途,只是中国学eCOS的很少。
Linux如此有名,但因为实时性问题,只能用在要求不高的嵌入式系统中。不过有几家大公司比如风河,在开发高实时性的Linux。Linux的前途越来越好,我是说服务器和嵌入式,不是说桌面。Linux是32位,不是16位,ARM9用的多。
uCLinux,32位ARM7TDMI的首选。主要用于没有MMU的CPU,简单的说是没有虚拟内存。
RTLinux,Linux的实时扩展,商业目的需要收费,主要是实时API作为驱动模块加载到内核,架空Linux的底层,通过实时FIFO进程间通讯。
RTAI,类似于RTLinux,真正GPL,我看前途比RTLinux好,结构清晰,有实时串口API,实时TCP等。
FreeRTOS这是一个开源的项目,属于轻量级内核,API比较全,支持AVR、ARM、MSP430等处理器,同时有移植好的uIP。
RTEMS是前美国军方研制的嵌入式系统, 最早用于美国国防系统,早期的名称为实时导弹系统(Real Time Executive for Missile Systems),后来改名为实时军用系统(Real Time Executive for Military Systems), 目前的全称是实时(Real Time Executive for Multiprocessor Systems)用,他的特点是非常的稳定,而且速度快。现在是一个开源项目的RTOS。

No comments: