I continue writing this article from the last article.You can scroll down this page to see the article about RTOS for AVR part one.
It is the real RTOS for AVR.It had been ported to many series of AVR microcontroller
(44 AVR devices).The task can be specified to be preemptive or cooperative task.It has
lots of example code and its documents is very good (The document is integrated into the
source code as comment).
It is the RTOS that support large set of features and can be ported to various type
of microcontroller other than AVR.Currently it only support MegaAVR 32 (8 bit
microcontroller) but may be can config to support other AVR devices too.The source code
for AVR can use with WinAVR or AvrStudio 4.
Contiki is one of widely used RTOS.It is multi-tasking operating system that designed
for microcontroller with small memory.
It is suitable for implement wireless sensor networks because it provide IP
communication.Its processes use protothreads to provide threadlike programming style.
It is RTOS designed for wireless sensor network.This RTOS was written in the nesC
programming language.The task is non-preemptive and task is run depend upon FIFO order.
It support Atmel AVR 8 bit (also support Atmega128).It has preemptive and cooperative
scheduling mechanism.The disadvantage of this RTOS is that it is not well tested (may be
there are some bugs).The website said that this RTOS can be installed in 16 bit and 32
bit microcontroller too.
This is well-known RTOS used widely in the world, so I don’t talk about it.
You can find the information relate to µC/OS-II at its website by yourself.
small memory area.This RTOS was written using WinAVR C compiler.4AvrOS is the new version
of csRTOS (Most features are remain the same).
9.XMK (eXtreme Minimal Kernel)
It is a preemptive and multithread kernal suitable for small microcontrollers (8 bit).However it can run on 16 or 32 bit microcontroller.This RTOS implemented the features such as mailboxes, memory pools, file descriptors, hardware device drivers, and TCP/IP networking.
And this is the end of the two series “RTOS for AVR” microcontroller.
Thank you so much,
Reference site : Electoday
This article is concern with the rtos that can port to AVR microcontroller.I list only rtos that is open source
and free for donwload.You can look for them as below…
1.AvrX Real Time Kernel
It is lightweight and support important features of RTOs such as Message Queues, Semaphores , fully
preemption etc.It is cooperative kernel too.You can download the document of AvrX here or here.
CocoOS is also lightweight and it is cooperative kernel.It can use with ATmega8/16/32.It is a cooperative task scheduler and its structure is small and easy.You can download the documents of this RTOS here
This is a popular RTOS is this world.It can port to various kinds of microcontroller , so I don’t talk about
it.You can find the information at its website yourself.
4.YAVRTOS (Yet Another Atmel® AVR® Real-Time Operating System)
This RTOS is only suitable with ATmega32 (It was tested only with ATmega32).It implemented mailboxes,
semaphores and mutexes.The disadvantage of YAVRTOS is that it’s not support defining task prioriy and the mutex mechanism of this RTOS is weak.I think disabling interrupt every time when want to access a shared resource is not a good way to do and you should avoid doing that.
pC/OS is RTOS that was developed base on uC/OS 1.00 (Its kernal based on uC/OS 1.00).It can port to ATMega32, AVR32 and ATMega128.Its document is easy to read.
It is non-preemptive kernel.It has memory management function together with task and time control functions.uSmartX is very old (it exist since 2006).This RTOS is suitable for small-footprint embedded system because of it consume little memory of the system.
COMATOS is the RTOS for ATMEL microcontroller (COMATOS is abbreviated from “COrnell Miniature ATmel Operating System “).It is simple,lightweight (Use memory not exceed 2K of program memory) and also non-preemptive RTOS.The source code has boht Assembly version and C version (THE C version is written for AT90S8515 ).Its website has a tutorial for using this RTOS but in Assembly language.
It is the project of Task Dispatcher.It contain C source code for implement this project and it also have
a PDF document to describe the souce code too.
It is the unique operating system for AVR.It was written in C for WinAVR (GCC) that can use optinally with Atman IDE.It contain the Scheduler for control each process (Cause process to run when desired) and inter-process communication like Semaphore.
The article “RTOS of AVR” is not end by this post.In the next post I will write about RTOS for AVR again as the episode two.
Want to know more about IPC (Inter-Process Communication , please visit wikipedia)
Reference site : http://www.electoday.com/bbs/viewthread.php?tid=1451&extra=&highlight=avr&page=1 (This topic started by wlasoi)
Thank you very much,