Summary
The article describes AvrX, a Real Time Multitasking Kernel designed for AVR microcontrollers, written in assembly language. The kernel size ranges from 500 to 700 words depending on the version and includes 40 API functions across six categories: Tasking, Semaphores, Timer Management, Message Queues, Single Step Debugging, and Byte FIFO with synchronization. AvrX 2.6 supports IAR Systems and GCC C compilers, uses a small memory model, and allows a flexible number of tasks and resources limited only by SRAM, enabling easier and smaller real-time application development.Parts used in the AvrX Real Time Multitasking Kernel:- AVR Microcontroller
- Assembly Language Kernel
- IAR Systems C Compiler
- GCC C Compiler
- Real Time Operating System (RTOS) API
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