|Ordering Information||Key Features||Technical Specifications||Supported Devices||Video||Technical Documents|
µC/OS-III is a highly portable, ROMable, scalable, preemptive, real-time, deterministic, multitasking kernel for microprocessors, microcontrollers and DSPs. μC/OS-III is Micrium’s newest RTOS, designed for developers who need to save time on their current and next embedded sytem projects. Using a commercial real-time kernel such as μC/OS-III provides a solid foundation and framework to the design engineer dealing with the growing complexity of embedded designs. μC/OS-III is a complete new real-time kernel with roots in μC/OS-II.
In addition to the features inherent in μC/OS-II, μC/OS-III also manages an unlimited number of application tasks, and features an interrupt disable time of near zero. μC/OS-III manages unlimited application tasks, constrained only by a processor’s access to memory. μC/OS-III supports an unlimited number of priority levels. Typically, configuring μC/OS-III for between 8 and 256 different priority levels is adequate for most embedded applications. µC/OS-III allows multiple tasks to run at the same priority level. When equal priority tasks are ready-to-run, µC/OS-III runs each for a user-specified amount of time. Each task can define its own time quanta and give up its time slice if it does not require the full time quanta.
Besides unlimited taks management, other services μC/OS-III provides include unlimited tasks, semaphores, mutexes, event flags, message queues, timers, memory partitions, and more. The user allocates all kernel objects at run time. μC/OS-III provides features to allow stack growth of tasks to be monitored. While task size is not limited, they need to have a minimum size based on the CPU used.
μC/OS-III has a number of internal data structures and variables that it needs to access atomically. It protects these critical regions by disabling interrupts for almost zero clock cycles, ensuring that it is able to respond to some of the fastest interrupt sources. Interrupt response with μC/OS-III is deterministic.
µC/OS-III provides extensive range checking which can be disabled at compile time. µC/OS-III thus checks for NULL pointers passed in API calls, task level services from ISRs aren’t called, arguments are within allowable range, and specified options are valid. Each API function provides an error code regarding the outcome of the function call.
μC/OS-III’s footprint can be scaled to only contain the features required for a specific application. The execution time for most services provided by μC/OS-III is both constant and deterministic; execution times do not depend on the number of tasks running in the application
- Maximum ROM Footprint (Unscaled): 24 Kbytes
- Minimum ROM Footprint (Scaled): 6 Kbytes
- Number of Kernel Services: 10 different using 80 API calls
- Multitasking Model: Preemptive
- Maximum number of Tasks: Unlimited
- Number of Tasks per Priotiy Level: 1
- Code Execution Entities: Tasks, ISRs
- Dynamic Objects: Static and Dynamic
- Data Movement: Message Queues (unlimited)
- Semaphores - Full Counting: Yes (unlimited)
- Mutexes - With Priority Inheritance: Yes (priority calling)
- Event Flags: Yes (unlimited), configurable for 8, 16, or 32 bits
- Memory Partitions - RAM Management: Yes
- Software Timers: Yes (unlimited)
|Supported processors||FPU (Floating-Point Unit) Support||Yes|
|Multicore support||AMP (Assymetrical Multi Processing)||Yes|
|Multitasking model||Maximum number of Tasks||Unlimited|
Unlimited number of tasks at each priority
|Clear stack at task creation||Yes (optional per-task)|
|Run-time stack checking||Yes (optional)|
|Catch/delete task that return||Yes|
|Reentrant libraries||Yes (support of Thread Local Storage for compiler)|
|Task registers||Yes (unlimited)|
|Tick rate||Configurable (Typ. 1 to 100 ms)|
|ISR stack||User definable hooks||Yes|
|Task switch hook||Yes|
|Idle task hook||Yes|
|Statistic task hook||Yes|
|Create task hook||Yes|
|Delete task hook||Yes|
|Catch task return hook||Yes|
|Scalable||Yes (compile and run-time configurable)|
|ROM (Min-Max)||6K-24K (bytes)|
|ANSC-C source||Number of source files||Fewer than 25|
|Argument checking||Yes (optional)|
|ASCII names for kernel objects||Yes|
|MISRA-C:2004 rules||Yes (most)|
|Kernel services||Timeout on calls||Yes (prevents deadlocks)|
|Event Flags||Yes (unlimited)|
|Mutual Exclusion Semaphores||Yes (full priority inheritance and nestable)|
|Message queues||Yes (unlimited)|
|Task message queue||Yes (optional)|
|Memory partitions||Yes (prevents fragmentation)|
|Software timers||Yes (unlimited)|
|Pend on multiple objects||Yes (optional)|
|Built-in performance measurements||Maximum interrupt disable time||Yes|
|Maximum scheduler lock time||Yes|
|Per-Task maximum interrupt disable time||Yes|
|Per-Task maximum scheduler lock time||Yes|
|Per-Task CPU usage (%)||Yes|
|Total CPU usage (%)||Yes|
|Per-Task stack usage||Yes|
|Per-Task run counter||Yes|
|Message pool statistics||Yes|
|Context switch counter||Yes|
|Debugger Kernel Awareness Support||Yes|
|Third-party certifications||Avionics, DO178B||In progress|
|Medical, FDA 510(k)||In progress|
|Debugger kernel awareness support||µC/Probe||Yes (Graphical Live Watch™)|
μC/OS-III runs on a large number of processor architectures and ports are available (FREE download) from the knode. The vast number of ports should convince you that μC/OS-III is truly very portable and thus will most likely be ported to new processors as they become available.
|Renesas||78K0R, RL78, RX200, RX600, SuperH 2A, V850E/2/S|
|Product Brief||Micrium: μC/OS-III Real-Time Operating System Product Brief|
|White Paper||Micrium: μC/OS-III Features|
|Training Video||Micrium: Multitasking with Only Five API Calls with μC/OS-III (Part 1/3)|
|Training Video||Micrium: Multitasking with Only Five API Calls with μC/OS-III (Part 2/3)|
|Training Video||Micrium: Multitasking with Only Five API Calls with μC/OS-III (Part 3/3)|
|Training Video||Micrium: TI Stellaris Robotic Evaluation Board With Micrium's μC/OS-III|
|Application Library||Micrium: μC/OS-III Kernel Source Code|
|Application Library||Micrium: μC/OS-III Project for NXP Cortex-M3 LPC1768|
|Application Library||Micrium: μC/OS-III Project for STMicro Cortex-M3 STM32F107|
|Application Library||Micrium: μC/OS-III Project for Freescale Kinetis TWR-K53N512|
|Application Library||Micrium: μC/OS-III Project for Luminary Micro LM3S9B92|
|Application Library||Micrium: μC/OS-III project for the Atmel AVR32UC3A on the EVK1100|
The user can download and evaluate Micrium μC/OS-III source code for 45 days free of charge. μC/OS-III source code may be used by accredited colleges and universities without a license, as long as the software is used only for educational purposes or peaceful research. Once the code is used to create a commercial project/product for profit, however, it is necessary to purchase a license. Micrium offers the following licensing options.
- Single Product License
A Single Product License enables the user to embed a Micriµm software component into one end customer product. This license is perpetual for the life of the customer's product and is without limitation in production quantity. This license is specific to the processor used AND the specific name and model of the customer end product.
- Product Line License (Product Family License)
A Product Line License allows the user to embed a Micriµm component into any number of end products within a product family and manufacture an unlimited number of units of each of these products for the life of the end product within the product family.
- CPU-Type License (Platform License)
A CPU-Type License allows the user to embed a Micriµm component into any number of end products using a single and specific processor type. The license holder may manufacture an unlimited number of units of each of these products for the life of the end product.
- Site License
A Site License allows the user to embed a Micriµm component into any end product that uses any CPU as long as the products are designed from a single site. The user is able to manufacture an unlimited number of units from any location worldwide.
- Dedicated Chip
A Dedicated Chip License is exclusive to chip manufacturers. It allows you to embed Micrium software components in one type of chip, and sell that chip to an unlimited number of customers. It includes an instruction manual that engineers can use to get up and going in hours, with minimal risk.
Back to top