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
Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
Get Avast Free Antivirus with 24/7 AI-powered online scam detection

Get protection for today’s online threats. Free.

Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
Free Download
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