This is the mail archive of the mailing list for the eCos project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Port to Atmel ARM9 Microcontroller SAM9G45

On 04.03.2010 10:38, Richard Rauch wrote:

> - small footprint
> - good realtime behaviour
> - very short interrupt latency times, minimal overhead for task context
> switching 
> - available for small microcontrollers (arm7,cortex m3)

And last but not least: in my opinion the eCos structure
is cleaner and there is a lot less dependencies between
various parts of the operating system.

>> Maybe you can help me defending eCos ;-).

>From my experience it is nearly impossible to write
a non-trivial realtime application for Linux - in my
opinion it simply is not there yet. I tried to port
an application using realtime timers and ethernet
networking to a variant of OSADL linux
( I ended hunting deadlocks
and priority inversion cases over the whole system,
had kernel softirq threads in uninterruptible sleeps
(that shouldn't happen except hardware failure).
I spoke to other developers who tried Linux for
this kind of stuff and they had similar experience.

The same application works like a charm under eCos
or without using the realtime threads.

I'd recommend Linux in following cases:

- no or soft realtime
- you need virtual memory
- you need to load code dynamically
- having separate processes instead of threads is an
- userspace/kernelspace isolation is needed
- you need something (e.g. a driver) only the linux provides
  and don't have time/resources to port it

Otherwise the eCos is better bet for an embedded device.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]