Search code examples
embeddedembedded-linuxecos

Embedded Linux or eCos?


One way to look at it - embedded Linux starts with desktop Linux & ditches the parts not needed for embedded systems (is this actually true?), whereas eCos is designed from the ground up for embedded systems.

Now, assume an ARM processor, probably ARM 7 - does performance make a difference? Actually, we talking a very low load system, max 500 transactions a day.

Any advantages of one over the other (or FreeRTOS, etc)? Stability, maturity, performance, development tools, anything else?

All that I can think of is that if I am certain that I will never port to another o/s, then if I go with embedded Linux, I don't need an o/s abstraction layer to allow me to do unit testing on host (desktop Linux box).

Any thoughts or comments? Thanks.


Solution

  • Every device I've put Linux on started from the ground up and was not a stripped down version of some distribution.

    eCos and Linux have different goals. Linux is intended to be a full featured Unix-like system and consequently isn't so concerned about minimum system requirements. eCos is a real time operating system designed for systems that are often resource constrained. There is a lot of overlap between the two OSes and in many situations both will work equally well.

    In my experience, if your system has the resources and your requirements are non-trivial, development will go faster with Linux. It's easier to find competent Linux developers than RTOS developers, the tools are cheaper, processes are protected from each other, you tend to have better visibility into the running system, etc.

    An (better, IMHO) alternative to eCos is RTEMS (http://www.rtems.com). It's been around longer and last time I checked, supported more architectures than eCos. It also has a PC BSP and runs under qemu for emulation.