Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor11500591150059 Migrating from µC/OS-II to µC/OS-III Anchor11500601150060 µ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. Anchor10795401079540

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. Anchor10812881081288

Table C-1 is a feature-comparison chart for µC/OS-II and µC/OS-III. Anchor11814221181422  

...

...

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