|Development Platforms & Kits|
|Operating Systems & Stacks|
|Test and Measurement|
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.
High-quality, royalty-free software/middleware for the embedded market