About

M2OS is a small Real-Time Operating System that allows running multitasking applications in small microcontrollers with scarce memory resources.

M2OS implements a simple scheduling policy based on non-preemptive one-shot tasks which requires a very small memory footprint. Moreover, with this scheduling policy the same stack area can be used by all the tasks and, consequently, the system only needs to allocate a stack area large enough to fit the largest task stack.

M2OS is integrated in a powerful IDE, the GNAT Programming Studio (GPS), that simplifies the cross-development process (coding, loading and debugging).

M2OS is written in Ada and it is the base of a simplified Run-Time System for the GNAT Ada compiler.

Supported boards

  • Arduino Uno: based on the Microchip ATmega328P microcontroller.
  • Epiphany many-core: mesh NoC with 4×4 cores.
  • STM32F4: based on the ARM Cortex-M4 microcontroller.

Getting started with M2OS

In order to start working with M2OS you should:

  1. Read more information about the rationale and characteristics of M2OS.
  2. Download M2OS and follow the install instructions.
  3. Read specific information about how to use M2OS for your target.
  4. Be up-to-date on M2OS visiting the News page or following our RSS feed.

Contact

Mario Aldea Rivas <aldeam@unican.es>
ISTR - UC
Software engineering and real-time group
Universidad de Cantabria
Avda. de Los Castros, 48
39005 – Santander
Spain

Other free software developed at ISTR:
MaRTE OS: Real-Time Operating System for embedded applications that follows the Minimal Real-Time POSIX.13 subset.
MAST: open-source suite of tools to perform schedulability analysis of real-time distributed systems.