一种查看它的方法 - 嵌入式Linux从桌面Linux开始,并抛弃嵌入式系统所需的零件(这实际上是正确的吗?),而ECO是从头开始设计的,用于嵌入式系统。

现在,假设一个手臂处理器,可能是手臂7-性能会有所作为吗?实际上,我们说一个非常低的负载系统,每天最多500次交易。

一个比另一个的优势(或弗雷托斯等)?稳定性,成熟度,性能,开发工具等等?

我能想到的就是,如果我是 肯定 我永远不会移植到另一个O/S,那么,如果我使用嵌入式Linux,我不需要O/S抽象层即可让我在主机上进行单元测试(台式Linux框)。

有什么想法或评论吗?谢谢。

有帮助吗?

解决方案

我将Linux放在的每个设备都从头开始,并不是某些发行版的脱衣版本。

ECO和Linux有不同的目标。 Linux旨在成为一个完整的类似于Unix的系统,因此并不关心最低系统要求。 ECOS是一种实时操作系统,设计用于通常受资源限制的系统。两种OS之间有很多重叠,在许多情况下,两者都可以很好地工作。

根据我的经验,如果您的系统具有资源,并且您的需求是非平凡的,那么Linux的开发将更快。与RTOS开发人员相比,找到合格的Linux开发人员更容易,工具更便宜,过程受到保护,您倾向于对运行系统的可见性更好,等等。

ECOS的(更好,恕我直言)是rtems(http://www.rtems.com)。它已经存在更长的时间,上次我检查,比ECOS支持更多的架构。它还具有PC BSP,并在QEMU下运行以进行仿真。

其他提示

将Linux放在ARM7 IMO上没有真正的好处。 ARM7没有MMU,并且记忆保护是使用OS(例如Linux)的主要原因。 Uclinux将在没有MMU的目标上运行,但是您已经失去了使用Linux的最引人注目的原因之一,并且仍然需要巨大的内存资源(4m闪存,16m的RAM将是明智的最小值)。

许多ARM7设备没有用于附加这么多内存的外部内存总线,并且在芯片闪光灯和RAM上通常根据设备范围32K至1M。

Linux并非本质上“实时”。为了实时功能,它通常与实时内核相结合,Linux本质上是作为空闲任务运行的,或以功能作为单独的虚拟机的目标。因此,如果需要确定性和快速响应外部事件,则需要诸如ECOS之类的RTO。

ECO的出色是,它具有大量的附加功能和设备支持的生态系统,可与大多数商业产品相匹配。但是,诸如Freertos之类的东西可能更容易“提出”,但不仅仅是线程调度程序和过程间的通信机制。诸如文件系统或TCP/IP之类的东西需要来自第三方(尽管也有适合嵌入式系统的小型且免费的解决方案)。

如果您使用诸如Freertos或UC/OS-III之类的简单内核,则不会浪费太多时间,因此投资不是下次使用其他内容的抑制剂。另一方面,Linux很可能会阻止您下次使用较小,更狭窄的目标,而随后的旅行项目的成本可能比仅仅支持您选择的操作系统所需的价格要高得多。

嵌入linux == Linux在99%的所有情况下。您只需以不同的方式配置内核即可。

性能的最大区别是,您可以根据您的实现 /配置,有一个预期的响应时间,而Linux则可以摆脱中断控制器的摆布。

Linux的粉丝群比ECOS要大得多,因此对开发的帮助更大,并且支持了各种各样的CPU。同样,根据所需的驱动程序,您可以在运行Linux的PC上编译和运行程序。

Linux可以检测锁定 /僵局,并发送自动响应 /重新启动以保持系统的高可用性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top