Summary of AvrX, Real Time Kernel using AVR microcontroller
AvrX is a compact, assembly-based real-time multitasking kernel for AVR microcontrollers, offering 40 APIs across six categories including tasking, semaphores, timers, and FIFOs. Version 2.6 supports IAR and GCC compilers with a native C interface, optimizing code size and complexity by managing state machines automatically while utilizing available SRAM.
Parts used in the AvrX Project:
- AVR microcontroller
- IAR Systems compiler
- GCC C compiler
- System SRAM
- Real Time Multitasking Kernel library
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
- What language is AvrX written in?
AvrX is written in assembly. - Which compilers support AvrX 2.6?
AvrX 2.6 is built for the IAR Systems and GCC C compiler. - How many API functions does AvrX offer?
AvrX has 40 API functions distributed across six categories. - What limits the number of tasks and semaphores?
The number of tasks, semaphores, messages, and timers is limited only by system SRAM. - Does using an RTOS reduce code size?
Yes, using an RTOS allows programmers to write linear code that is almost always smaller. - Who maintains state machines for specific tasks?
The OS maintains all state machines for specific tasks. - What are the six API categories in AvrX?
The categories are Tasking, Semaphores, Timer Management, Message Queues, Single Step Debugging support, and Byte FIFO support with synchronization. - Is AvrX designed for large memory models?
No, it is written for a small memory model with 16 bit pointers.

