EMBEDDED
OPERTATING
SYSTEMS
While an Operating System, or RTOS, isn't necessary to write
software for
the AVR, there may be times when it is desirable. Below, are some links
for
free or open source operating systems / kernels for the AVR. Note that
this may
not be a complete list.
The Femto OS is a very concise portable
real time -
preemptive operating system (RTOS) for embedded microcontrollers with
minimal
ram and flash.
AvrX is a Real-Time Multitasking Kernel.
Ethernut is an Open Source Hardware and
Software
Project for building Embedded Ethernet Devices. It contains Nut/OS
which is an
intentionally simple RTOS for the ATmega128, which provides a minimum
of
services to run Nut/Net, the TCP/IP stack.
FreeRTOS is a portable, open source,
mini Real Time
Scheduler (or mini RTOS kernel).
TinyOS is a component-based runtime
environment
designed to provide support for deeply embedded systems which require
concurrency intensive operations while constrained by minimal hardware
resources.
Contiki is an Internet-enabled operating
system and
desktop environment for a number of smallish systems.
XMK is a preemptive multitasking
scheduler/kernel
for 8bit microcontrollers. Its goal is to provide a bare bones RTOS
with a
small enough footprint (RAM+ROM) to run on 8bit microcontrollers.
pico OS is a highly configurable and
very fast real
time operating system (RTOS). It targets a wide range of architectures,
from
very small 8 bit processors and microcontrollers up to very huge
platforms. An
AVR port is available.
uSmartX is a non-preemptive,
multitasking, priority
based RTOS. It features mechanisms for inter-task communication and
basic task
and time control functions.
This is an implementation of a
lightweight
scheduler so called "Super Simple Tasker" - SST. The idea is taken
from the Robert Ward's article - "Practical Real-Time Techniques" http://www.quantum-leaps.com/resources/Ward03.pdf.
The
SST
allows
to
significantly reduce needs for precious RAM and ROM and
still
allows to keep a real time characteristic of the scheduler (e.g. tasks
prioritization and preemption).
ChibiOS/RT is a compact and fast RTOS
designed for
embedded applications. It offers threads, mutexes, semaphores,
messages,
events, timers, flexible I/O with timeout capability.
Here are some links to free or open source components that may be useful.
uIP is an implementation of the TCP/IP
protocol
stack intended for small 8-bit and 16-bit microcontrollers. It provides
the
necessary protocols for Internet communication, with a very small code
footprint and RAM requirements - the uIP code size is on the order of a
few
kilobytes and RAM usage is on the order of a few hundred bytes.
Protothreads are extremely lightweight
stackless
threads designed for severely memory constrained systems such as small
embedded
systems or sensor network nodes. Protothreads provide linear code
execution for
event-driven systems implemented in C. Protothreads can be used with or
without
an underlying operating system.
Awesome site! I am loving it!!.You make it entertaining and you still care for to keep it smart. Vee Eee Technologies can't wait to read much more from you. This is actually a terrific site.'ll follow your blog even more when you'll keep up the good work
ReplyDelete