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:
- Read more information about the rationale and characteristics of M2OS.
- Download M2OS and follow the install instructions.
- Read specific information about how to use M2OS for your target.
- Be up-to-date on M2OS visiting the News page or following our RSS feed.
Contact
Mario Aldea Rivas <aldeam@unican.es>
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.