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

nel_h2
Secure User Management, Made Simple | Frontegg Icon
Secure User Management, Made Simple | Frontegg

Get 7,500 MAUs, 50 tenants, and 5 SSOs free – integrated into your app with just a few lines of code.

Frontegg powers modern businesses with a user management platform that’s fast to deploy and built to scale. Embed SSO, multi-tenancy, and a customer-facing admin portal using robust SDKs and APIs – no complex setup required. Designed for the Product-Led Growth era, it simplifies setup, secures your users, and frees your team to innovate. From startups to enterprises, Frontegg delivers enterprise-grade tools at zero cost to start. Kick off today.
Start for Free
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