Repository navigation
Releases: Raymon-Research-Team/ZenOS-RTOS
Release list
ZenOS RTOS v1.1.0
A simpler, clearer and more reliable Cortex-M RTOS
ZenOS RTOS v1.1.0 focuses on making the kernel easier to configure, easier to understand, and more reliable in real embedded projects.
This release also updates the documentation to match the current implementation and removes several outdated or misleading configuration descriptions.
✨ Highlights
🧩 Simpler Configuration
ZenOS configuration is now documented around a simple principle:
Every configurable option has a clear default, allowed range, and hardware requirement where applicable.
Important examples:
Kernel priorities
Default: 16 slots
Supported: 2–256 slots
Priority
0is reserved for the Idle task.Application priorities can therefore range from
1to255when 256 slots are configured.
Kernel tick
Default: 100 µs
Supported: 100–1000 µs
The selected period must divide 1000 evenly.
Default task stack
Default request: 128 bytes
Minimum request: 64 bytes
Effective allocation floor: 256 bytes
Practical limits depend on the target's available RAM and toolchain/linker constraints.
Boolean configuration options consistently use:
0= disabled1= enabled
Hardware-dependent features such as MPU, CRC and IWDG are explicitly documented with their hardware requirements.
The goal is to make configuration predictable instead of forcing developers to search through multiple source files to understand what a setting actually means.
⚙️ Scheduler and Kernel Improvements
ZenOS continues to use a bitmap-based priority selection mechanism together with per-priority ready queues.
The priority system now has clearer documentation for both the default configuration and its full supported range.
Periodic tasks are also documented according to their actual scheduler behavior: a periodic task is released according to its configured period and next_run_time, rather than being described as simply "running every N ticks".
🛡️ Safety and Monitoring Configuration
Safety-related options now have explicit defaults and limits in the documentation.
This includes:
MPU protection
Hardware watchdog
Software watchdog
CRC integrity checking
RAM testing
Critical-section monitoring
Deadline monitoring
Recovery attempts
Error-log capacity
IEC 62304 target profiles
IEC 61508 SIL target profiles
Hardware requirements are also documented so that requesting an unavailable hardware capability results in a clear compile-time configuration error rather than an ambiguous runtime failure.
🐛 Bug Fixes and Reliability Work
This release includes reliability and correctness work across the kernel and its configuration/documentation layer.
Particular attention has been given to:
configuration inconsistencies between documentation and source;
incorrect or outdated default values;
incorrect descriptions of scheduler behavior;
misleading stack-size information;
incorrect IPC configuration descriptions;
outdated watchdog information;
hardware capability requirements;
configuration-range documentation;
consistency between English and Persian documentation.
The documentation has been checked against the current source implementation rather than relying on older descriptions.
📚 Documentation Improvements
The documentation has been substantially refreshed.
Updated areas include:
Configuration Guide
Safety Manual
Architecture documentation
Porting Guide
API documentation
HTML user guide
Current implementation information
STM32/RTOS guide
FAQ
Persian documentation
Configuration tables now emphasize:
Default → Allowed Range → Hardware Requirement → Actual Behavior
instead of showing only a default value.
🎯 Design Direction
ZenOS continues to focus on three core principles:
Simple
Keep the RTOS understandable and avoid unnecessary abstraction.
Fast
Use lightweight kernel mechanisms suitable for resource-constrained Cortex-M systems.
Safe
Provide optional monitoring and safety mechanisms while keeping them explicit and configurable.
ZenOS does not require HAL/LL for its core API.
🔧 Configuration at a Glance
Configuration | Default | Supported -- | -- | -- Kernel tick | 100 µs | 100–1000 µs Maximum priorities | 16 slots | 2–256 slots Default task stack request | 128 B | ≥64 B request Tickless idle | Enabled | 0 / 1 IPC tools | Enabled | 0 / 1 Monitoring | Disabled | 0 / 1 Deadline action | Reset task | 0–2 Error log | 16 entries | ≥1 Safety mechanisms | Mostly disabled | 0 / 1 Recovery attempts | 3 | ≥0 Software watchdog | 3000 ms | ≥0 ms Critical section limit | 1000 µs | ≥0 µsHardware-dependent options remain subject to the capabilities of the selected Cortex-M target.
🚀 Why This Release Matters
v1.1.0 is not only about adding features.
A major objective is reducing the amount of knowledge required to start using ZenOS correctly.
A developer should be able to look at the configuration, immediately understand:
what the default is;
what values are allowed;
what the limits are;
what hardware is required;
and what effect changing the option has.
That is the direction of ZenOS:
Less configuration complexity. More clarity. More predictable behavior.
⚠️ Important
Safety target profiles such as IEC 62304 and IEC 61508 are configuration and enforcement mechanisms inside ZenOS. Selecting a profile does not by itself constitute certification or product compliance.
📦 Release
Version: 1.1.0
Focus:
Configuration simplicity · Documentation accuracy · Kernel reliability · Safety configuration · Bug fixes
Target:
Cortex-M / STM32-class embedded systems
ZenOS
Simple. Fast. Safe.
BUSL-1.1
Raymon Research Team
ZenOS v1.0.0 — First Stable Release
⚡ ZenOS v1.0.0 — (Simplicity · Security · Speed)
First stable release of ZenOS, a real-time operating system for ARM Cortex-M
written in C++11.
🎯 What is ZenOS?
ZenOS is a lightweight, deterministic RTOS designed for safety-critical embedded
systems. Zero heap allocation, O(1) scheduler, and compile-time IEC compliance.
✨ Highlights
- O(1) priority-bitmap scheduler — always deterministic
- 100μs tick resolution (10× finer than FreeRTOS)
- IPC primitives: events, mutexes, queues, semaphores with priority ceiling
- Full C++11 RAII support — zero runtime overhead
- No heap, no hidden allocations
🛡️ Safety Features (all enabled by default)
- Stack canary + SP bounds checking
- TCB integrity validation
- Deadline monitoring
- Hardware & software watchdog
- Background RAM test (March C-)
- Flash CRC verification
- Per-task MPU protection
🏥 Standards Compliance
- IEC 62304 — compile-time enforcement for medical devices
- IEC 61508 — compile-time enforcement for industrial systems
🖥️ Supported Hardware
- STM32F1 (M3), STM32F2 (M3), STM32F4 (M4), STM32F7 (M7), STM32H7 (M7+M4)
- STM32G0 (M0+), STM32G4 (M4), STM32L0 (M0+), STM32L4 (M4), STM32WB (M4)
🧪 Tested on real hardware (STM32F103C8T6) with 22+ test suites
📖 Full API tutorial, safety manual, and Persian documentation included.
Built with ❤️ by Rahman Heidari — Raymon Research Team