At the foundation of Micrium OS is an efficient, scalable, and ultra-reliable kernel. The design of the Micrium OS kernel draws on decades of experience developing real-time operating systems. And it’s essential for writing applications that maximize the potential of the Gecko and Wireless Gecko MCUs.
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.
The Micrium OS kernel includes debugging features that reduce development time. The kernels provide extensive range checking, including checks for pointers passed in API calls, task level services from ISRs, arguments within allowable range, and for valid specified options.
The Micrium OS kernel features functions and macros for collecting a variety of run-time statistics. You can leverage this code to identify performance bottlenecks and optimize power usage in your own applications.
- 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
- Kernel 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