AvrX is a Real Time Multitasking Kernel for AVR microcontrollers written in assembly. Total kernel size varies from ~500 to 700 words depending upon which version is being used. Since the kernel is provided as a library of routines, practical applications take up less space because not all functions are used. AvrX has 40 API in the following six categories: Tasking, Semaphores, Timer Management, Message Queues, Single Step Debugging support, and Byte FIFO support with synchronization.
AvrX 2.6, the latest version, is built for the IAR Systems and GCC C compiler. It is written for a small memory model (16 bit pointers) and a native C interface. The number of tasks, semaphores, messages and timers is limited only by system SRAM. By using RTOS (Real Time OS), programmer can write linear code which is much easier to design, debug, understand and it is almost always smaller. All state machines for specific task will be maintained by OS.
For more detail: AvrX, Real Time Kernel using AVR microcontroller
This free embedded project also found using: