µ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.
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 |
Optio to post without scheduling | No | Yes |
Pend on multiple objects | Yes | Yes |
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 |
Tick handling at task level | 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 | In progress |
Medical FDA pre-market notification (510(k)) and pre-market approval (PMA) | Yes | In progress |
SIL3/SIL4 IEC for transportation and nuclear systems | Yes | In progress |
IEC-61508 | Yes | In progress |
Table C-1 µC/OS-II and µC/OS-III features comparison chart