Skip navigation
Your Source for Engineering Knowledge and Electronic Design Solutions

uC/OS-III

Micrium | Why Micrium | uC/OS-II | Stacks

uC/OS-III is Micrium’s newest kernel.  One of the most noticeable differences between uC/OS-III and its predecessor, uC/OS-II, involves scheduling.  Whereas uC/OS-II required every task to have a unique priority, uC/OS-III allows tasks to share a priority.  Support for identical priorities is possible because of uC/OS-III’s round-robin scheduler.  When multiple tasks sharing the same priority are ready to run, the scheduler allows each to use the CPU for a period of time specified by the application developer.


Another of the differences between uC/OS-III and uC/OS-II is that the former does not place any limits on the number of tasks in an application.  The limit of 255 tasks that was imposed on uC/OS-II-based applications does not apply to applications that incorporate uC/OS-III.  Similarly, uC/OS-III-based applications can create any number of semaphores, mutexes, and other kernel primitives.


Interrupts, of course, are of immense importance in real-time systems. uC/OS-III lends developers flexibility in this area through two different interrupt management schemes.  In Direct mode, the kernel’s interrupt mechanisms are identical to those used by uC/OS-II.  In Deferred mode, however, uC/OS-III prevents ISRs from accessing kernel variables.  As a result, the kernel does not need to disable interrupts when these variables are accessed elsewhere.   

Key Features

 

  • Capable of round-robin scheduling
  • Places no limit on the number of tasks in an application
    • Also allows for any number of mutexes, queues,semaphores, and other kernel primitives
  • Offers two different interrupt management schemes
    • Direct
    • Deferred
  • uC/OS-II ports need only minor modifications in order to be used with uC/OS-III

Matt Gordon: Embedded Software Expert

Matt Gordon is a senior applications engineer at Micrium. He began his career developing device drivers, kernel ports, and example applications for Micrium's customers.