Version 13
    Ordering InformationKey FeaturesTechnical SpecificationsSupported DevicesVideoTechnical 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


    Typical Applications:

    • Data Communications Equipment
    • White Goods (Appliances)
    • Mobile Phones, PDAs, MIDs
    • Industrial Controls
    • Consumer Electronics
    • Automotive
    • A wide range of embedded applications
    More Development Kits and Tools
    orangearrw.gifOperating Systems and Stacksorangearrw.gifelement14 Knode


    Key Features


    Key Features

    • Preemptive multitasking real-time kernel with optional round robin scheduling
    • Delivered with complete, clean, consistent, 100% ANSI C source code with in-depth documentation.
    • Highly configurable
    • Intuitive Application Programming Interface (API)
    • Preemptive Multitasking: Runs the most important task that is ready
    • Nested task suspension
    • Very Low Interrupt Disable Time
    • Scalable to contain only required features
    • Highly scalable (6K to 24K bytes code space, 1K+ bytes data space)
    • Mutual exclusion semaphores with built-in priority inheritance protocol to prevent priority inversions( Mutexes)
    • Built-in performance measurements for execution time of each task, stack usage of each task, number of times a task executes, CPU usage, ISR-to-task and task-to-task response time, interrupt disable time, and more
    • Timeouts on ‘pend’ calls to prevent deadlocks
    • Third party certifiable


    Back to top


    Technical Specifications


    General Specifications:

    • 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)


    Detailed Specifications:


    Supported processorsFPU (Floating-Point Unit) SupportYes
    Multicore supportAMP (Assymetrical Multi Processing)Yes
    Multitasking modelMaximum number of TasksUnlimited
    Round-Robin Scheduling

    Yes (optional)

    Unlimited number of tasks at each priority

    Clear stack at task creationYes (optional per-task)
    Run-time stack checkingYes (optional)
    Catch/delete task that returnYes
    Reentrant librariesYes (support of Thread Local Storage for compiler)
    Task registersYes (unlimited)
    Tick rateConfigurable (Typ. 1 to 100 ms)
    ISR stackUser definable hooksYes
    Task switch hookYes
    Idle task hookYes
    Statistic task hookYes
    Create task hookYes
    Delete task hookYes
    Catch task return hookYes
    Initialization hookYes
    ScalableYes (compile and run-time configurable)
    ROM (Min-Max)6K-24K (bytes)
    RAM1K+ (bytes)
    ANSC-C sourceNumber of source filesFewer than 25
    Argument checkingYes (optional)
    ASCII names for kernel objectsYes
    MISRA-C:2004 rulesYes (most)
    Kernel servicesTimeout on callsYes (prevents deadlocks)
    SemaphoresYes (unlimited)
    Task semaphoreYes
    Event FlagsYes (unlimited)
    Mutual Exclusion SemaphoresYes (full priority inheritance and nestable)
    Message queuesYes (unlimited)
    Task message queueYes (optional)
    Memory partitionsYes (prevents fragmentation)
    Software timersYes (unlimited)
    Task suspend/resumeYes
    Lock/Unlock schedulerYes
    Pend on multiple objectsYes (optional)
    Built-in performance measurementsMaximum interrupt disable timeYes
    Maximum scheduler lock timeYes
    Per-Task maximum interrupt disable timeYes
    Per-Task maximum scheduler lock timeYes
    Per-Task CPU usage (%)Yes
    Total CPU usage (%)Yes
    Per-Task stack usageYes
    Per-Task run counterYes
    Message pool statisticsYes
    Context switch counterYes
    Debugger Kernel Awareness SupportYes
    Third-party certificationsAvionics, DO178BIn progress
    Medical, FDA 510(k)In progress
    Industrial, IEC61508
    Debugger kernel awareness supportµC/ProbeYes (Graphical Live Watch™)


    Back to top


    Supported Devices


    Supported CPU

    μ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.


    AlteraNios II
    Analog DevicesBlackfin
    FreescaleColdFire, HCS12
    MicrochipPIC24, PIC32
    Renesas78K0R, RL78, RX200, RX600, SuperH 2A, V850E/2/S
    Texas InstrumentsMSP430


    Back to top







    Back to top



    Technical Documents

    Learning Center


    Product BriefMicrium: μC/OS-III Real-Time Operating System Product Brief
    White PaperMicrium: μC/OS-III Features
    Training VideoMicrium: Multitasking with Only Five API Calls with μC/OS-III (Part 1/3)
    Training VideoMicrium: Multitasking with Only Five API Calls with μC/OS-III (Part 2/3)
    Training VideoMicrium: Multitasking with Only Five API Calls with μC/OS-III (Part 3/3)
    Training VideoMicrium: TI Stellaris Robotic Evaluation Board With Micrium's μC/OS-III


    Design Element


    Application LibraryMicrium: μC/OS-III Kernel Source Code
    Application LibraryMicrium: μC/OS-III Project for NXP Cortex-M3 LPC1768
    Application LibraryMicrium: μC/OS-III Project for STMicro Cortex-M3 STM32F107
    Application LibraryMicrium: μC/OS-III Project for Freescale Kinetis TWR-K53N512
    Application LibraryMicrium: μC/OS-III Project for Luminary Micro LM3S9B92
    Application LibraryMicrium: μC/OS-III project for the Atmel AVR32UC3A on the EVK1100


    Back to top



    Ordering Information


    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 Licenseviewsku.bmp
      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)viewsku.bmp
      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)viewsku.bmp
      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