我参与了一种或另一种类型的嵌入式操作系统,并且通常不得不使用遗留系统所具有的任何功能。现在我有机会从头开始一个新的嵌入式项目。
系统的主要限制是:
团队以前使用的操作系统是VxWorks,ThreadX,uCos,pSOS和Windows CE。
有没有人对操作系统选择进行比较或交易研究?
我们应该考虑其他任何操作系统吗? (我们已经建议使用eCos和RT-Linux。)
编辑 - 感谢迄今为止的所有回复。遗憾的是,我无法将所有标记为“已接受”。
答案 0 :(得分:5)
多年前我曾与QNX合作过,除此之外别无他法。即使在那个时候,QNX 4(与Neutrino微内核相比也非常厚实)非常适合低内存情况(尽管32MB是 oodles ,而我们必须使用的是1-2MB),虽然我没有明确地使用任何基于网络的东西,但我知道Apache是可用的。
答案 1 :(得分:5)
这一切都取决于您的团队为学习“新”RTOS分配了多少时间 你有什么理由不想使用人们已经有过的经验吗?
我对vxWorks有很多经验,我喜欢它,但在为WindRiver工作时无视我的意见。
uC / OS II的优点是可以在Labrosse的书中完整记录(如源代码中的实际解释)。但不知道Web支持。
我知道pSos已不再可用。
您还可以查看this list of RTOSes
答案 2 :(得分:5)
我认为仔细评估“RTOS”的含义是明智的。我在一家大型公司工作多年,构建高性能嵌入式系统,并将它们称为“实时”,尽管这不是它们的真实含义。它们具有低延迟并具有确定性调度程序,并且在10次中有9次,这就是人们在说RTOS时真正想要的。
真正的实时需要硬件支持,可能不是你真正的意思。如果你想要的只是低延迟和确定性调度(再次,我认为这是人们90%的时间说“实时”),那么任何Linux发行版都可以正常工作。你可能甚至可以使用Windows(我不确定你如何控制Windows调度程序......)。
再一次,请注意“实时”的意思。
答案 3 :(得分:4)
我从netburner购买了一些开发硬件 它非常容易使用并且有很好的文档记录。它是运行uCLinux的RTOS。该公司很高兴与您合作。
答案 4 :(得分:4)
选择您的团队经验丰富的操作系统可能是明智的决定。但是,我想推广两个很好的开源选项:
两者都具有适用于各种架构的许多功能和驱动程序。您还没有提到您将使用的架构。它们提供POSIX层,如果你想尽可能保持便携,那就很好了。
此外,eCos和RTEMS的许可证都是GPL,但有一个例外,因此GPL不涵盖通过内核链接生成的可执行文件。
社区非常活跃,有些公司提供商业支持和发展。
答案 5 :(得分:2)
我们对Keil RTX系统非常满意....轻巧快速,满足我们所有严格的实时限制。它还内置了一些很好的调试功能来监控堆栈溢出等。
答案 6 :(得分:1)
我对Windows CE非常满意,尽管它“更重”。
答案 7 :(得分:1)
发布同意Ben Collins - 您确实需要确定您是否具有软实时要求(主要用于人工交互)或硬实时要求(用于与时间敏感设备连接)。
答案 8 :(得分:1)
柔软也意味着你可以偶尔忍受一些打嗝。
可靠性要求是什么?我在嵌入式Linux中使用更多通用操作系统的经验是,由于他们的智能平均情况优化试图避免饥饿和类似的个别任务,他们往往会遇到随机的打嗝。
答案 9 :(得分:1)
VxWorks很好:
然而,我怀疑WindRiver会将他们的主要注意力转移到Linux和WindRiver Linux上会打入WindRiver VxWorks的市场。 市场减少,工程师需求减少。
答案 10 :(得分:1)
这是最新研究。最后一个是在8年多前完成的,所以这是最相关的。这些表可用于添加其他RTOS选项。您会注意到,此比较主要针对较轻的机器,但同样适用于较重的机器,前提是不需要虚拟内存。