嵌入式操作系统比较?
我曾经参与过一种或者多种口味的嵌入式操作系统,并且通常不得不使用任何旧系统。现在,我有机会从头开始一个新的嵌入式项目。
对系统的主要限制是:
- 它需要一个基于Web的界面。
- 需要实时处理输入(因此需要一个真正的RTOS)。
- 可用内存为32MB的RAM和FLASH。
该团队以前使用的操作系统是VxWorks,ThreadX,uCos,pSOS和Windows CE。
是否有人对操作系统选择进行比较或者行业研究?
还有其他应考虑的操作系统吗? (我们建议使用eCos和RT-Linux)。
编辑感谢我们提供迄今为止的所有回复。可惜我不能把所有人都标记为"接受"。
解决方案
我对Windows CE感到很满意,尽管它"比较重"。
多年前,我曾与QNX一起工作,无话可说。即使在那时,QNX 4(与Neutrino微内核相比也显得矮胖)非常适合内存不足的情况(尽管32MB是小菜一碟,而我们必须使用1-2MB)玩任何基于Web的东西,我知道Apache可用。
这完全取决于为团队分配多少时间来学习"新的" RTOS。
我们有什么理由不想使用人们已经有经验的东西吗?
我在vxWorks上有丰富的经验,我喜欢它,但是在我为WindRiver工作时,无视我的意见。
uC / OS II的优点是在Labrosse的书中有完整的文档记录(实际上在源代码中有解释)。虽然不了解Web支持。
我知道pSos不再可用。
我们还可以查看此RTOS列表
我从netburner购买了一些开发硬件
使用起来非常容易,而且文档记录也很丰富。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。它是运行uCLinux的RTOS。与公司合作非常愉快。
选择团队经验丰富的操作系统可能是一个明智的决定。但是,我想推广两个很好的开源选项:
- eCos(我们是否提到过)
- RTEMS
两者都具有用于多种体系结构的许多功能和驱动程序。我们没有提到要使用哪种架构。它们提供了POSIX层,如果我们想保持尽可能的可移植性就很好。
此外,eCos和RTEMS的许可证均为GPL,但有例外,因此通过与内核链接生成的可执行文件不受GPL覆盖。
社区非常活跃,并且有提供商业支持和发展的公司。
我们一直对Keil RTX系统感到非常满意。...轻巧,快速,并满足了我们所有严格的实时约束。它还具有一些不错的调试功能,可以监视堆栈溢出等。
我认为仔细评估" RTOS"的含义是明智的。我在一家构建高性能嵌入式系统的大公司工作了多年,他们将它们称为"实时",尽管实际上并非如此。它们是低延迟的,具有确定性的调度程序,十分之九,这就是人们说RTOS时真正追求的。
真正的实时需要硬件支持,而这可能并不是我们真正想要的。如果我们想要的只是低延迟和确定性的调度(再次,我认为这是人们在90%的时间说"实时"的意思),那么任何Linux发行版都对我们来说很好。我们甚至可以通过Windows来解决问题(不过我不确定我们如何控制Windows调度程序...)。
同样,请小心"实时"的含义。
发布以与Ben Collins达成共识-我们确实需要确定我们是对软件的实时需求(主要是用于人机交互)还是对硬件的实时需求(与对时间敏感的设备进行接口)。
柔和也意味着我们可以偶尔忍受一些打ic。
可靠性要求是什么?我对嵌入式Linux等更通用的操作系统的经验是,由于它们的智能平均用例优化可以避免单个任务的饥饿和类似情况,因此它们往往会遇到随机的打ic。