|Ordering Information||Key Features||Technical Specifications||Supported Devices||Video||Technical Documents|
µC/OS-II, the Real-Time Kernel, is a portable, ROMable, scalable, preemptive, real-time deterministic multitasking kernel for microprocessors, microcontrollers and DSPs. Offering unprecedented ease-of-use, µC/OS-II is delivered with complete source code and in-depth documentation. Most of µC/OS-II is written in highly portable ANSI C, with target processor specific code written in assembly language. Assembly language is kept to a minimum to make µC/OS-II easy to be ported to other processors. To date, µC/OS-II has been ported to over 40 different processor architectures, ranging from 8- to 64-bit CPUs. µC/OS-II can manage up to 250 application tasks and provides the services including: semaphores; event flags; mutual-exclusion semaphores that eliminate unbounded priority inversions; message mailboxes and queues; task, time and timer management, and more.
μC/OS-II’s footprint can be scaled (between 5 Kbytes to 24 Kbytes) to only contain the features required for a specific application. Depending on the processor, μC/OS-II can be reduced to as little as 2K bytes of code space and 300 bytes of data space (excluding stacks). The execution time for most services provided by μC/OS-II is both constant and deterministic; execution times do not depend on the number of tasks running in the application.
A validation suite has been developed for μC/OS-II and provides all the documentation necessary to prove that μC/OS-II is suitable for Safety Critical Systems common to Aviation and Medical products. Although this feature may not be applicable to your needs, it does prove that μC/OS-II is a very robust RTOS. μC/OS-II has been used in hundreds of products from companies all around the world. Specifically, μC/OS-II is currently implemented in a wide array of high level of safety-critical devices, including:
- 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: 254
- Number of Tasks per Priotiy Level: 1
- Code Execution Entities: Tasks, ISRs
- Dynamic Objects: Static and Dynamic
- Data Movement: Message Mailboxes (unlimited)and 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|
|MPU (Memory Protection Unit) Support||Yes (μC/OS-MPU)|
|MMU (Memory Management Unit) Support||Yes (μC/TimeSpaceOS)|
|Multicore support||AMP (Assymetrical Multi Processing)||Yes|
|Multitasking model||Maximum number of Tasks||254 application tasks|
|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-20K (bytes)|
|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 (priority ceiling protocol)|
|Message queues||Yes (unlimited)|
|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|
|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||Yes (Level A)|
|Medical, FDA 510(k)||Yes|
|Debugger kernel awareness support||IAR||Yes|
μC/OS-II 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-II is truly very portable and thus will most likely be ported to new processors as they become available.
|Freescale||68HC12, ColdFire, DSP58K, HCS12, HCS12X, M683XX, MC9S08|
|Renesas||78K0(R), H8-300L, H8S, H8SX, M16C, M32C, R32C, RL78, RX200, RX600, SuperH 2A, V850E/2/S|
|User Manual||Micrium: μC/OS-II Configuration Manual|
|Product Brief||Micrium: μC/OS-II Real-Time Operating System Product Brief|
|Application Note||Micrium: µC/OS-II and Event Flags|
|Application Note||Micrium: µC/OS-II and Mutual Exclusion Semaphores|
|Application Note||Micrium: µC/OS-II and the ARM processor|
|Tutorials||Micrium: Fundamentals of Real-Time Operating Systems|
|Application Library||Micrium: μC/OS-II and the Microchip dsPIC33 (using C30 and the Explorer 16)|
|Application Library||Micrium: μC/OS-II and the ARM Cortex-M3 Processors|
|Application Library||Micrium: μC/OS-II and the ColdFire Architecture|
|Application Library||Micrium: μC/OS-II and the Texas Instrument MSP430F5438 (MSP430x5xx) Processor|
|Application Library||Micrium: μC/OS-II and the ST STM32 (Cortex-M3) Processorson the IAR STM32F103ZE-SK Kickstart Kit|
|Application Library||Micrium: μC/OS-II and μC/OS-View for Atmel AVR ATmega2560|
The user can download and evaluate Micrium μC/OS-II source code for 45 days free of charge. μC/OS-II 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.
- Common to all Micrium Licenses
All licenses are perpetual for the life of the customer’s product. All Micrium licenses are royalty free – you can build unlimited quantities of your product.
One year maintenance is included with each new software component purchase.
Back to top