µC/OS-III is a completely new real-time kernel with roots in µC/OS-II. Portions of the µC/OS-II Application Programming Interface (API) function names are the same, but the arguments passed to the functions have, in some places, drastically changed.
Appendix C This section explains several differences between the two real-time kernels. However, access to µC/OS-II and µC/OS-III source files best highlights the differences.
Table C-1 The table below is a feature-comparison chart for µC/OS-II and µC/OS-III.
Panel |
---|
title | µC/OS-II and µC/OS-III feature comparison chart |
---|
|
Feature | µC/OS-II | µC/OS-III |
---|
Year of introduction | 1998 | 2009 | Book | Yes | Yes | Source code available | Yes | Yes | Preemptive Multitasking | Yes | Yes | Maximum number of tasks | 255 | Unlimited | Number of tasks at each priority level | 1 | Unlimited | Round Robin Scheduling | No | Yes | Semaphores | Yes | Yes | Mutual Exclusion Semaphores | Yes | Yes (nestable) | Event Flags | Yes | Yes | Message Mailboxes | Yes | No (not needed) | Message Queues | Yes | Yes | Fixed Sized Memory Management | Yes | Yes | Signal a task without requiring a semaphore | No | Yes | Send messages to a task without requiring a message queue | No | Yes | Software Timers | Yes | Yes | Task suspend/resume | Yes | Yes (nestable) | Deadlock prevention | Yes | Yes | Scalable | Yes | Yes | Code Footprint | 6K to 26K | 6K to 24K | Data Footprint | 1K+ | 1K+ | ROMable | Yes | Yes | Run-time configurable | No | Yes | Catch a task that returns | No | Yes | Compile-time configurable | Yes | Yes | ASCII names for each kernel object | Yes | Yes |
|
...
Option to post without scheduling | No | Yes | Pend on multiple objects | Yes |
|
...
No | Task registers | Yes | Yes | Built-in performance measurements | Limited | Extensive | User definable hook functions | Yes | Yes | Time stamps on posts | No | Yes | Built-in Kernel Awareness support | Yes | Yes | Optimizable Scheduler in assembly language |
|
...
No
...
Yes
...
| No | Yes | Number of services | ~90 | ~70 | MISRA-C:1998 | Yes | N/A | MISRA-C:2004 | No | Yes | DO178B Level A and EUROCAE ED-12B | Yes |
|
...
Yes | Medical FDA pre-market notification (510(k)) and pre-market approval (PMA) and IEC62304 | Yes |
|
...
...
IEC for transportation and nuclear systems | Yes |
|
...
...
In progress