AvrX, Real Time Kernel using AVR microcontroller

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.

Real Time Kernel
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

Quick Solutions to Questions related to AvrX Project:

  • 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.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top