FabOS für Atmel AVR / XMEGA
FabOS ist ein leichtgewichtiges Embedded-Echtzeit-Betriebssystem, das komplett in C geschrieben ist.
Die Programmierung ist so weit möglich unabhängig vom Prozessor und Compiler.
Eine stabile Implementierung für Atmel-AVR ist verfügbar.
ATMEGA32 und ATXMEGAxxA4 werden direkt unterstützt. Die Anpassung an weitere Derivate ist eher simpel.
Das Programmierhandbuch mit Programmbeispiel (FabOS Programmers Guide) ist zum Download verfügbar.
Da die komplette Dokumentation und Ausführung in Englisch gehalten ist, geht es direkt in Englisch weiter:
FabOS for Atmel AVR / XMEGA
FabOS is a lightweight embedded real time operating system, which is completely written in C.
The Programming is -as far as possible- independent of the compiler and processor.
A stable implementation for Atmel AVR is available.
ATMEGA32 and ATXMEGAxxA4 are directly supported, porting to another derivate is quite simple.
The "FabOS Programmers Guide" including a programming example is available for download.
Key features:
- Preemptive real time task scheduling
- Mutexes with priority inversion
- Up to 8 Events per task
- User defined Queues
- Multiple timed Alarms per Task
- Flexible OS-tick timer interrupt - any interrupt source can be used for scheduling
- The scheduling interrupt remains usable for the application
- Idle task, which runs on "native" stack
- Optional run-time checks
- Easy to use and to understand
Footprint:
For the AVR (MEGA32) implementation with 3 Tasks (4 including idle), 3 alarms and 3 mutexes, it takes 38 to 51 bytes RAM and 1774 to 2196 bytes code, depending on features used.
The values are net values. The stack space for every task and possibly used queue space is to be added.
Download the programmers guide including a code example here.
Please let me know, if you are interested in a commercial, educational or private usage via the FabOS contact form.
License will be on a per unit base. This will be very reasonably priced!
Private and educational license is for free.
Please note the license conditions stated within the programmers guide.


