首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式技术 » 如何选择嵌入式操作系统 02

嵌入式技术 » 如何选择嵌入式操作系统 02

国内也有红旗、中软、新华嵌入式Linux. MontaVista Linux是MontaVista软件公司于1999年推出的,它是目前全球优秀的嵌入式Linux操作系统和工具供应商,MontaVista在嵌入式Linux的实时性、交叉开发工具、高可用性、动态电源管理等Linux技术要点方面具有领先地位。MontaVista Linux最版本是3.1,采用Linux 2.4.20,针对8种CPU系列(包含arm和Xscale)优化定制的商业化版本。
 
  选择象MontaVista Linux这样商业化嵌入式Linux,可以让用户把时间和资金放在应用软件和特定的硬件接口和设备驱动程序,使用商业化嵌入式Linux可以得到一定时间(一般是1年)的技术支持,升级和培训(这很重要,因为Linux是每天都在变化的)。
 
  商业化嵌入式Linux目前除国内的产品外,价格还是很昂贵的,根据配置和服务时间,大约从几千到几万美元,多数国内用户从资金和心理上还很难承受,商业化嵌入式Linux开发工具相对于Microsoft和象Tornado/VxWork的开发工具,在易于使用和丰富性方面还待于提高和改进。
 
  同样作为Linux操作系统,笔者推荐使用带有MMU的嵌入式Linux,而不是mCLinux,因为绝大多数新的arm CPU都是AMR9核,它们都带有MMU了,无论是开放源码的Linux社区还是商业化的嵌入式Linux公司的支持和维护都比mCLinux要好要快和丰富得多。
 
  结语前面我们对三种在ARM CPU上较为流行的嵌入式操作系统作了详细的分析,在进入一个总结之前,笔者还想提到几个在国际上很有名气的嵌入式操作系统,它们是WindRiver公司的VxWorks、ATI的Nucleus、iTron和WinCE,但它们在arm CPU的应用不多见,介绍从略。
 
  最后归纳一下选择一个合适的arm CPU的嵌入式操作系统的几个重要因素:第一是应用。如果你想开发的嵌入式设备是一个和网络应用密切相关或者就是一个网络设备,那么你应该选择用嵌入式Linux或者mCLinux,而不是mC/OS-II.第二是实时性。没有一个绝对的数字可以告诉你什么是硬实时,什么是软实时,它们之间的界限也是十分模糊的,这与你选择什么样的arm CPU,它的主频、内存等参数有一定的关系。如果你使用加入实时补丁等技术的嵌入式Linux,如MontaVista Linux(2.4.17版本),最坏的情况只有436微秒,而99.9%的情况是195微秒。考虑到最新的Linux在实时性方面的改进。它可以适合于90~95%的各种嵌入式系统应用。当然,你如果希望更快的实时响应,如高速的A/D转换需要几个微秒以内的中断延时,可能采用mC/OS-II是合适的。当然,你采用象Vxworks这样传统的嵌入式操作系统也可以满足这样的强实时性要求。
 
  第三是开发工具。显然,目前mC/OS-II、mCLinux和嵌入式Linux的开发工具与商业嵌入式操作系统工具还有一些差距,目前在ARM CPU上广泛流行和使用的是ARM公司SDT/ADS工具链,产品无论在功能、稳定性和众多的第三方厂商支持方面都很好,唯一不足的是缺少对嵌入式Linux操作系统的支持,SDT/ADS的升级产品RealView计划支持GCC和嵌入式Linux,但目前还没有看到,mC/OS-II可以使用arm SDT/ADS,但没有操作系统调试功能。
 
  第四是所选择的ARM CPU和参考板,象ARM7TDMI和arm940T(如S3C2500/2510)核是不能使用嵌入式Linux的,如果想用Linux,只能用mCLinux,如果想用VxWorks,
返回列表