/
Migrating from uC-OS-II to uC-OS-III
Migrating from uC-OS-II to uC-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.
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.
The table below is a feature-comparison chart for µC/OS-II and µC/OS-III.
µ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 |
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 | Yes |
SIL3 IEC for transportation and nuclear systems | Yes | Yes |
IEC-61508 | Yes | Yes |
, multiple selections available,
Related content
API Changes
API Changes
More like this
Differences in Source File Names and Contents
Differences in Source File Names and Contents
Read with this
uC-OS-III
uC-OS-III
More like this
Convention Changes
Convention Changes
Read with this
Preface
Preface
More like this
Semaphores API Changes
Semaphores API Changes
Read with this