Real-Time Kernel '0' logo

Real-Time Kernel '0'

Free

A lean, highly deterministic, low-latency real-time kernel for ARMv6/7M.

FreeFree tier
Type
Open Source

About Real-Time Kernel '0'

RK0 is an embedded real-time kernel centered on concurrency management. It moves worst-case coordination mechanics into the kernel, allowing programmers to express dependencies while the kernel enforces correct scheduling behaviour, preventing issues like priority inversion, blocked producers, nested ownership, timeout races, and delayed receivers. It targets ARMv6/7M architectures and compiles with ARM GCC using C99. The project includes comprehensive Docbook documentation, a Wiki, and a blog, and is open source under the Apache-2.0 license.

Key Features

Moves worst-case coordination mechanics into the kernel
Enforces scheduling based on expressed dependencies
Handles priority inversion, blocked producers, nested ownership, timeout races, and delayed receivers
Targets ARMv6/7M architectures
Built with ARM GCC, C99 compatible
Clean code with static analysis (Cppcheck) passing
Includes Docbook documentation, Wiki, and Blog
Open source under Apache-2.0 license

Pros & Cons

Pros
  • Highly deterministic and low-latency
  • Simplifies real-time programming by handling coordination
  • Open source with permissive Apache-2.0 license
  • Well-documented with Docbook, Wiki, and Blog
  • Clean code with static analysis passing
Cons
  • Limited to ARMv6/7M architectures (no support for other architectures)
  • Requires ARM GCC toolchain and QEMU for emulation
  • No official releases published yet (only repository)
  • Not suitable for minimal RTOS needs (more feature-rich)

Best For

Real-time embedded systems on ARM microcontrollersApplications requiring deterministic worst-case timing behaviourSystems where concurrency correctness is critical (e.g., industrial control, robotics, IoT)Nucleo board development (M0, M3, M4)