An efficient and ultra-reliable kernel is at the foundation of Micrium OS. The kernel, which draws on Micrium’s years of multi-tasking experience, is essential for writing applications that maximize the potential of the CPUs on which they run.
The Micrium OS kernel is based on the scheduler at the heart of µC/OS-III, the highly popular kernel that Micrium introduced in 2009. Many of the newer kernel’s API functions have a history that goes back even farther, to the original µC/OS, which was released in 1992.
The Micrium OS kernel can accommodate any number of tasks and kernel objects. The kernel's memory footprint can be adjusted to meet the needs of application code, with a typical code footprint of well under 20 kBytes.
µC/OS-II, one of the predecessors of the Micrium OS kernel, has been a popular choice for safety-critical systems since it was first used in a DO-178B-certified aerospace system in 2000. Many of the lessons that Micrium's team has learned while supporting µC/OS-II have strongly influenced the design and implementation of subsequently released software modules, including the Micrium OS kernel.
Functions and macros for collecting a variety of run-time statistics have been implemented within the Micrium OS kernel. Developers can leverage this code to identify performance bottlenecks and optimize power usage.
- Preemptive multitasking real-time kernel with optional round-robin scheduling
- Delivered as clean and consistent source code with in-depth documentation
- Highly scalable, with support for an unlimited number of tasks, priorities and kernel objects
- Resource-efficient: 6 to 24 kBytes code space and 2 kBytes (min) data space
- Optimized interrupt-disable time
- Built-in performance measurement capabilities
- Scalable: Yes (compile-time and run-time configurable)
- ROM: (Min-Max) 6–24 kBytes
- RAM: 2+ kBytes
- Multitasking model - Preemptive
- Maximum number of tasks - Unlimited
- Scheduling - Real-time scheduler; Round-robin scheduler
- Run-time stack checking - Configurable
- Catch/delete tasks that return - Yes
- Kernal timebase - Configurable (static and dynamic tick rate)
- Timeout on calls - Yes (prevents deadlocks)
- Critical sections
- Event Flags
- Lock/Unlock scheduler
- Memory partitions (prevents fragmentation)
- Message queues
- Mutual exclusion semaphores (priority inheritance)
- Software timers
- Task registers
- Task suspend/resume
Getting Started with Micrium OS
Free Commercial Licenses on Silicon Labs MCUs!
The Micrium OS kernel is entirely free on EFM32 and EFR32 devices! Developers whose projects are based on these devices can take advantage of Micrium's latest professional-quality, real-time kernel without paying any licensing fees. The Getting Started page provides the simple, step-by-step procedure for running the kernel for the first time. Check out our licensing page for more information.