The µOS++ (micro os plus plus) - DEPRECATED

Page date Mon Sep 28 10:51:34 2015 .   Improve this page

Note: These pages were converted from the wiki created for the first edition of this project. The second edition was documented in separate pages and a Doxygen site.


The “µOS++” (micro OS plus plus) project is a SourceForge hosted open source, royalty-free, multi-tasking operating system intended for embedded systems. It is based on a simple preemptive scheduler running on ARM Cortex M3 and Atmel AVR8/AVR32 devices. Being carefully written in a subset of C++, it is elegant, convenient to use, easy to maintain, yet efficient and has a small footprint.

µOS++ provides basic synchronization primitives based on Unix sleep/wakeup mechanisms, multiple system timers (counting ticks or seconds), advanced customizable timers, mutual exclusion objects, synchronized flags, USB and USART character device drivers, MMC/SD Card drivers, SDI-12 sensor drivers and more.

The build mechanism is highly granular, allowing a very small ROM+RAM footprint.

The authoritative documents on how to use µOS++ can be found in the project Wiki (no longer valid, redirected to new site). The source code itself, publicly available for browsing via the web Git Browse interface is another good source of information. (Additional resources are the Trac and the SVN.

The current version is 4.3, as Release Candidate in 2012. Since there are no clear milestones on this project (yet), there will be no periodic releases, and the download section will probably not be updated very often. For an up-to-date version of this project, it is recommended to use the Git sources instead of the released packages.

Technicalities

Install the build environment

Overview

APIs

Samples

Debug support

Usage

Portability

Processor specific pages

AVR32

Performances

Misc

Style guides

Other references:

  • Joint Strike Fighter Air Vehicle C++ Coding Standards for the System Development and Demonstration Program, Lockheed Martin Corporation, 2005
  • MISRA-C: 2008 – Guidelines for the use of the C++ language in critical systems, MIRA Limited, 2008

Misc

Other resources

Final thoughts

Althought not required by the license, I would be very happy if you could drop me a notice after downloading these sources.

Any comments/critics/suggestions/etc will be highly appreciated.

Enjoy,

Liviu Ionescu