Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Choice of RTOS

2008-01-08 by Chuck Hackett

Gentlemen,

I am looking for an RTOS to "standardize" on in my (hobby) work with AVRs.

I would like to find an RTS that is "full-featured" with things like tracing
(to a serial port, etc.), inter-task messaging/signaling, etc.  It would be
nice if features were optionally compiled/linked in to control runtime
memory usage.  

I'm not sure if I really need preemptive scheduling in addition to
cooperative scheduling but it would be nice to have the option.  I would
need the ability to support interrupt driven IO but I assume they all do
this through buffers and mutex (P, V, etc.) or some kind of inter-task
messaging/signaling.  Open-source is a big plus.

I am familiar with OS's large and small and I have written (non-preemptive)
multi-tasking environments for other processors but I'd rather not re-invent
the wheel ... I'd rather get on with what I want to do at the application
level :-)

My current applications use general communications (UART, not bit-bang),
data logging and control.  I don't currently have any requirements for very
low latency or high interrupt rates other than that required for interrupt
driven communications and ADC sampling (rates in the 1 to 10 per second
range), etc.

The current hardware environments are EtherNut board and a Mavric board from
BDMicro.

I'm currently looking at:

1) "NutOS" because I'll be using that on an EtherNut board.  As far as I
know so far, it does not support preemptive multi-tasking.

2) "FreeRTOS" (http://www.freertos.org/a00098.html) which looks interesting
and optionally supports preemptive scheduling.

Am I going astray?  Are there others I should consider?

Thanks in advance ...

Oh, also, I am NOT a student working on a project due tomorrow :-)

Regards,

Chuck Hackett

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.