AvRtos is a small, preemtive, priority based real time operating system for Atmel AVR and ARM microcontrollers.
It was written in C.
AvRtos provides message queues and semaphores for task synchronization. It uses a static memory allocation scheme.
AvRtos is nearly the smallest RTOS out there. Even pico]OS is much bigger.

AvRtos can be compiled using gcc compiler. There is a AvrStudio 4 and Eclipse project file to get the example code working very quickly.

Features

  • Small footprint
  • Preemtive multitasking
  • Needs only 1 kByte of flash memory for code
  • Needs only 11 Byte RAM for one task control block
  • Needs only 5 Byte RAM for one semaphore control block
  • Needs only 13 Byte RAM for one queue control block
  • Semaphores for task synchronization
  • Queues for task synchronization
  • AVR, ARM-Cortex-M3 and ARM-Cortex-M4

Project Activity

See All Activity >

License

GNU Library or Lesser General Public License version 2.0 (LGPLv2)

Follow AvRtos

AvRtos Web Site

Other Useful Business Software
$300 Free Credits for Your Google Cloud Projects Icon
$300 Free Credits for Your Google Cloud Projects

Start building on Google Cloud with $300 in free credits. No commitment, no credit card required until you're ready to scale.

Launch your next project with $300 in free Google Cloud credits—no strings attached. Test, build, and deploy without risk. Use your credits across the entire Google Cloud platform to find what works best for your needs. After your credits are used, continue with always-free tier services. Only pay when you're ready to scale. Sign up in minutes and start exploring.
Start Free Trial
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
0
1
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5

User Reviews

  • I was attracted to this RTOS because I'm working on several ATXMEGA E5 projects that need a very simple scheduler for real time machine control. Nice work overall and I thank the author for it. However, the documentation (strictly via DOXGEN) is entirely inadequate and non-professional. Whatever happened to a simple text manual describing the initialization, limitations and task interface from the task to the kernel? This lack of documentation requires that the user study the source in detail for each kernel service to understand the implications and limitations - not for the beginning RTOS user. Also, even though most hardware-specific code is defined in the "AvRtosHw.h" header you still have to modify "AvRtos.h" for task, semiphore and queue size allocation, etc. It would have been much better to define all required hardware specific attributes early in AvRtos.h (for editing) or at the beginning of the user's main program header and eliminate the confusing extra header file "AvRtosHw.h". But, in conclusion, I have it working very well now that I've re-organized the structure, gotten rid of "AvRtosHw.h" and made it easy to define and allocate task resources in a unified manner. The author had the right idea, because there is a need for this type of simple RTOS for AVR, but it could be so much more with a few (not many) additional features, such as MUTEX's. If others were willing to jump on board to help with this effort- especially documentation, I'm game. Update to the above review 6/19/17: With Harald's release of 2.0.2 I'm changing my rating to 4 stars. Harald added Mutexes, which are an important element to my work. He now has a "Documentation" page which, while still in progress, is a welcome addition to his project.
Read more reviews >

Additional Project Details

Programming Language

C

Related Categories

C Operating System Kernels

Registered

2013-12-29