Real-Time Kernels: µC/OS-II and µC/OS-III

µC/OS-II and µC/OS-III are preemptive, highly portable, and scalable real-time kernels. Designed for ease of use on a huge number of CPU architectures, these kernels are a key component of the µC/OS real-time operating system.

Return to the µC/OS Overview

Features

Key Values

Portable. Offering unprecedented ease-of-use, μC/OS kernels are delivered with complete source code and in-depth documentation. The μC/OS kernels run on huge number of processor architectures, with ports available for download.

Scalable. The μC/OS kernels allow for unlimited tasks and kernel objects. The kernels' memory footprint can be scaled down to contain only the features required for your application, typically 6–24 KBytes of code space and 1 KByte of data space.

Reliable. The μC/OS kernels include debugging feature 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.

Efficient. Micrium's kernels also include valuable runtime statistics, making the internals of your application observable. Identify performance bottlenecks, and optimize power usage, early in your development cycle.

Highlights

The features of the µC/OS kernels include:

  • Preemptive multitasking real-time kernel with optional round robin scheduling
  • Delivered with complete, clean, consistent source code with in-depth documentation.
  • Highly scalable: Unlimited number of tasks, priorities and kernel objects
  • Resource-efficient: 6K to 24K bytes code space, 1K+ bytes data space)
  • Very low interrupt disable time
  • Extensive performance measurement metrics (configurable)
  • Certifiable for safety-critical applications

Specifications

Memory Footprint

Scalable Yes (compile and run-time configurable)
ROM (Min-Max) 6K-24K (bytes)
RAM 1K+ (bytes)

Task Management

Multitasking model Preemptive
Maximum number of tasks Unlimited
Scheduling Real-time scheduler
Round-robin scheduler
Run-time stack checking Configurable
Catch/delete task that return Yes
Support for thread local storage ARMCC, CrossCore Embedded Studio, GNU, IAR
Kernal time base Configurable (constant and dynamic tick rate)
Timeout on calls Yes (prevents deadlocks)
Interrupt Disable Time Near Zero

Kernel Services

Critical sections Yes
Event Flags Yes
Lock/Unlock scheduler Yes
Memory partitions Yes (prevents fragmentation)
Message queues Yes
Monitors Yes
Mutual exclusion semaphores Yes (full priority inheritance and nestable)
Semaphores Yes
Software timers Yes
Task registers Yes
Task suspend/resume Yes

Memory Protection and Time Managment

Micrium provides two extensions to the µC/OS-II kernel that provide memory protection and greater stability and safety for your applications. These extensions are available for purchase separately.

µC/MPU

μC/OS-MPU is an extension for Micrium’s µC/OS-II kernel that provides memory protection.

The μC/OS-MPU extension prevents applications from accessing forbidden locations, thereby protecting against damage to safety-critical applications, such as medical devices and avionics systems.

μC/OS-MPU builds a system with MPU processes, with each containing one or more tasks or threads. Each process has an individual read, write, and execution right. Exchanging data between threads is accomplished in the same manner using μC/OS-II tasks, however handling across different processes is achieved by the core operating system.

µC/OS-MPU includes the following features:

  • Prevents access of forbidden locations
  • Appropriate for safety-critical applications
  • Easy integration of protocol stacks, graphical modules, FS libraries
  • Simplified debugging and error diagnosis
  • Available for any microcontroller equipped with a hardware Memory Protection Unit (MPU) or Memory Management Unit (MMU).
  • Third-party certification support available

Debugging and error diagnosis is simplified as an error management system provides information on the different processes. The hardware protection mechanism cannot be bypassed by software.

Existing μC/OS-applications can be adapted with minimal effort. μC/OS-MPU is available for any microcontroller containing a Memory Protection Unit (MPU) or Memory Management Unit (MMU). Third-party certification support is also available.

µC/TimeSpaceOS

µC/TimeSpaceOS is an extension for Micrium’s µC/OS-II kernel that manages both memory and time allocated to diverse types of applications.

With µC/TimeSpaceOS you can certify complex systems for safety-critical applications cost-effectively.

Its features and benefits include:

  • Memory protection so that multiple applications cannot influence, disturb or interact with each other
  • Deterministic and run-time guaranteed
  • Configurable so that virtual Dynamic Random Access Memory (DRAM) is optionally available
  • A small footprint for use in a wide-range of applications
  • Compatibility: can be used within the protected segment in existing µC/OS-II applications
  • Certification according to DO178B and IEC61508
  • Available for a large number of microcontrollers; contact us for details

µC/TimeSpaceOS makes it possible for several independent applications (with or without real-time kernels) within one environment to be executed on one target hardware platform. It guarantees that the applications will not influence or interfere with each other.

Each application is developed in a protected memory area (partition). The application is independent with respect to other partitions. This makes it easier for multiple developers to develop complex control devices. Each partition can be considered its own virtual CPU.

µC/OS-II versus µC/OS-III

Which real-time kernel should you use? Micrium’s kernels meet different needs.

Compare Micrium's real-time kernels

Supported CPU Architectures

The following table lists CPU architectures for which µC/OS ports are readily available. New ports can be written easily or adapted to your specific needs either by yourself or Micrium.

You can find example projects that demonstrate some of our currently-available µC/OS kernel ports in the Download Center.

Manufacturer CPU
Altera Nios II
SoC FPGA (Cortex-A)
Analog Devices Blackfin
ADSP-CM4xx (Cortex-M)
ARM

ARM7, ARM9, ARM11
Cortex-A5, Cortex-A7, Cortex-A8, Cortex-A9, Cortex-A15, Cortex-A17
Cortex-A53, Cortex-A57
Cortex-R4, Cortex-R5, Cortex-R7
Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4(F), Cortex-M7

ATMEL AVR, AVR32
SAM3, SAM4, SAM7, SAM9, SAMA5 (ARM Cortex-based)
Cypress Semiconductors PSoC 4, PSoC 5 (Cortex-M)
EnSilica eSi-RISC
Imagination Technologies M14K
Infineon XMC4000 (Cortex-M)
Microchip PIC24, PIC32
Microsemi SmartFusion2 (Cortex-M)
Microsoft Win32
NXP ColdFire
HCS12
i.MX
Kinetis (Cortex-M)
LPC (Cortex-M)
LPC (ARM7 / ARM9)
MPC5xxx, MPC8xxx
VFxxx (Cortex-A & Cortex-M)
Renesas H8S
78K0R
R32C
RL78
RX100, RX200, RX600, RX700
RZ/A (Cortex-A), RZ/T1 (Cortex-R & Cortex-M)
R-IN32 (Cortex-M)
SuperH-2A
V850E/2/S
Silicon Labs Gecko (Cortex-M)
ST Microelectronics STM32F (Cortex-M)
STM32L (Cortex-M)
STR9
Texas Instruments C28x
MSP430 (Cortex-M), MSP432 (Cortex-M)
Hercules RM (Cortex-R), Hercules TMS570 (Cortex-R)
Xilinx MicroBlaze
Zynq-7000 (Cortex-A)
Zynq Ultrascale+ MPSoC (Cortex-A & Cortex-R)

You can also contact our sales department for more information about supported platforms or port development.

Licensing

Licensing Packages That Meet Your Needs

Micrium embedded components are priced as individual modules or as bundled solutions. Check out our licensing page for more information.

Documentation

Micrium's user documentation for µC/OS-II and µC/OS-III is available online on the Micrium documentation site.

Contact us today and start working with µC/OS