Real-time • Cortex-M • C++11

ZenOS-RTOS

A compact real-time operating system for ARM Cortex-M, with a bitmap-based scheduler, static task resources, IPC primitives, monitoring, and configurable safety mechanisms.

ZenOS // kernel map

Scheduler bitmap + priority queues
Tasks static stack allocation
IPC events / mutex / queue / semaphore
Safety watchdog / MPU / CRC / RAM test
Monitor CPU / stack / errors / deadlines

Documentation

Start with the guide, then move to the API and safety references.

Start in seconds

From zero to a running task

ZenOS keeps the first step simple: initialize the kernel, create a task, then start the scheduler.

main.cpp3 steps
// 1. Initialize
os_init();

// 2. Create a task
os_task_create(task_led_toggle);

// 3. Start ZenOS
os_start();

Kernel at a glance

Capabilities reflected in the current source tree.

Priority-bitmap schedulingPriority-bitmap scheduler with per-priority task queues and configurable priority slots (default 16, range 2–256).
Static task resourcesTask stacks are allocated without a general-purpose heap.
IPC primitivesEvents, mutexes, queues, and semaphores.
Runtime diagnosticsStack, CPU, errors, watchdog, deadline, and integrity checks.