(1) 嵌入式操作系统选择应考虑的因素
硬件的不同,会影响操作系统的选择。低端无MMU(MemoryManagementUnit,存储器管理单元)的CPU,要使用uClinux操作系统;而相对高端的硬件,则可以用普通的嵌入式Linux操作系统。uClinux和普通的Linux有各自的优势和缺点。可用于嵌入式系统软件开发的操作系统很多,但关键是如何选择一个适合开发项目的操作系统。
①嵌入式操作系统提供的开发工具。有些实时操作系统(RTOS)只支持该系统供应商的开发工具,因此,还必须向操作系统供应商获取编译器、调试器等;而有些操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大。
②嵌入式操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,避免操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度。
③操作系统的内存要求。均衡考虑是否需要额外花钱去购买RAM或EEPROM来迎合操作系统对内存的较大要求。
④开发人员是否熟悉此操作系统及其提供的API。
⑤操作系统是否提供硬件的驱动程序,如网卡等。
⑥操作系统的可剪裁性。有些操作系统具有较强的可剪裁性,如嵌 入式Linux、Tornado/VxWorks等等。
⑦操作系统的实时性能。
(2)几类嵌入式Linux系统的比较
嵌入式Linux系统方面的产品主要分为三类:
第一类是专门为Linux的嵌入式系统应用而做的。如何让Linux更小 、更容易嵌入到体积要求和功能、性能要求更高的硬件中去,是他们的产品开发方向,如MontaVista的MontaVistaLinux等。
第二类是专门为Linux的实时特性设计的产品。将Linux开发成实时系统尤其是硬实时系统,应用于一些关键的控制场合 (不仅仅是信息电器)。如,Fsmlabs公司开发出来的RT-Linux产品已经用在工业控制的很多方面;葡萄牙的Coimbra大学已经利用 RT-Linux实现了化工生产控制厂里用来控制反应和程序控制的系统。
第三类的产品是将实时性和嵌入式方案结合起来的方案。很多公司都这么做,并且提供集成化的开发方案,如Lineo、TimeSys等等。
因此选择操作系统时,要根据自己的嵌入式要求和实时性要求,选择适合自己的嵌入式Linux;同时,和选择硬件的原则一样,如果可能,尽量选择使用普通的嵌入式Linux系统。
2013-03-20
注:源自原百度博客“至美心"