Maw*_*awg 10 embedded embedded-linux ecos
一种看待它的方法 - 嵌入式Linux从桌面Linux开始,并抛弃嵌入式系统不需要的部分(这实际上是真的吗?),而eCos是从头开始为嵌入式系统设计的.
现在,假设一个ARM处理器,可能是ARM 7 - 性能是否有所作为?实际上,我们谈的是一个非常低负荷的系统,每天最多500笔交易.
一个优于另一个(或FreeRTOS等)的任何优点?稳定性,成熟度,性能,开发工具,还有其他什么?
我能想到的是,如果我确定我永远不会移植到另一个o/s,那么如果我使用嵌入式Linux,我不需要o/s抽象层来允许我进行单元测试主机(桌面Linux机箱).
有什么想法或意见吗?谢谢.
我把Linux放在上面的每一台设备都是从头开始的,而不是某些发行版的精简版.
eCos和Linux有不同的目标.Linux旨在成为一个功能齐全的类Unix系统,因此并不关心最低系统要求.eCos是一种实时操作系统,专为经常受资源限制的系统而设计.两个操作系统之间存在很多重叠,在许多情况下两者都能同样有效.
根据我的经验,如果您的系统拥有资源并且您的要求非常重要,那么Linux的开发速度会更快.找到比RTOS开发人员更有能力的Linux开发人员,工具更便宜,流程相互保护,您可以更好地了解正在运行的系统等.
一个(更好的,恕我直言)替代eCos的是RTEMS(http://www.rtems.com).它已经存在了很长时间,最后一次检查,支持比eCos更多的架构.它还有一个PC BSP并在qemu下运行以进行仿真.
将Linux置于ARM7 IMO上并没有什么好处; ARM7没有MMU,内存保护是使用Linux等操作系统的主要原因.uClinux将在没有MMU的情况下运行目标,但是你已经失去了使用Linux的最令人信服的原因之一,并且仍然需要巨大的内存资源(4M闪存,16M RAM将是一个明智的最小值).
许多ARM7设备没有用于连接大量内存的外部存储器总线,而片上闪存和RAM的范围通常为32K到1M,具体取决于器件.
Linux本质上不是"实时"的.对于实时功能,它通常与实时内核耦合,其中Linux基本上作为空闲任务运行,或者作为具有单独虚拟机功能的目标运行.因此,如果需要对外部事件进行确定性和快速响应,则需要一个RTOS,如eCOS.
eCOS非常出色,它拥有大量的附加功能和设备支持生态系统,可与大多数商业产品相媲美.但是像FreeRTOS这样的东西可能更容易"提升",但只提供线程调度程序和进程间通信机制.像文件系统或TCP/IP这样的东西需要从第三方获得(尽管同样适用于嵌入式系统的小型免费解决方案也是如此).
如果你使用一个简单的内核,如FreeRTOS或uC/OS-III,你就不会浪费太多时间,所以投资不会成为下次使用别的东西的抑制因素.另一方面,Linux可能会阻止您下次使用更小,更狭隘的目标,并且浏览后续项目的成本可能远远高于支持您选择的操作系统所需的成本.
| 归档时间: |
|
| 查看次数: |
6564 次 |
| 最近记录: |