Migrating from µC/OS-II to µC/OS-III
µ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 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 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 |
-
- µC/OS-II and µC/OS-III features comparison chart