logo slogan

uCOSIII

What is µC/OS-III?

µC/OS-III is a highly portable, ROMable, scalable, preemptive, real-time, deterministic, multitasking kernel for microprocessors, microcontrollers and DSPs.

Click for uC/OSII vs uC/OSIII comparison.

 

Click for relevant section:-

What does it do?

Features?

Specifications?

Architectures?

 

 

 

 

 

 

 

What does it do?

Offering unprecedented ease-of-use, μC/OS-III is delivered with complete 100% ANSI C source code and in-depth documentation. μC/OS-III runs on the largest number of processor architectures, with ports available for download from the Micrium Web site.

 

µC/OS-III manages an unlimited number of application tasks, constrained only by a processor’s access to memory. µC/OS-III also supports an unlimited number of priority levels (typically configured for between 8 and 256 different priority levels).

 

µC/OS-III allows for unlimited tasks, semaphores, mutexes, event flags, message queues, timers and memory partitions. The user allocates all kernel objects at run time. µC/OS-III provides features to allow stack growth of tasks to be monitored. While task size is not limited, they need to have a minimum size based on the CPU used.

 

µC/OS-III allows multiple tasks to run at the same priority level. When equal priority tasks are ready-to-run, µC/OS-III runs each for a user-specified amount of time. Each task can define its own time quanta and give up its time slice if it does not require the full time quanta.

 

µC/OS-III provides extensive range checking which can be disabled at compile time. µC/OS-III thus checks for NULL pointers passed in API calls, task level services from ISRs aren’t called, arguments are within allowable range, and specified options are valid. Each API function provides an error code regarding the outcome of the function call.

 

µC/OS-III’s footprint can be scaled to contain only the features required for a specific application (typically 6–24 KBytes of code space residing in memory).

Click for Top of Page

 

Features

 

The features of µC/OS-III include:

Preemptive multitasking real-time kernel with optional round robin scheduling
Delivered with complete, clean, consistent, 100% ANSI C source code with in-depth documentation.
Mutual exclusion semaphores with built-in priority inheritance protocol to prevent priority inversions
Timeouts on ‘pend’ calls to prevent deadlocks
Unlimited number of tasks, priorities and kernel objects
Highly scalable (6K to 24K bytes code space, 1K+ bytes data space)
Very Low Interrupt Disable Time
Extensive performance measurement metrics (configurable)
Third party certifiable

 

Multi threaded Applications

 

µC/OS-III allows developers to produce multi-threaded applications, vital to the development of safety-critical systems. Thanks to improved integration with IAR Embedded Workbench for ARM, developers can access all the inherent non-reentrant features of C/C++ in a thread-safe manner.

 

Application developers who write code for use in multi-threaded environments will find the support critical when protecting shared objects using system locks, file-stream locks, and thread-local storage (TLS) in multi-threaded environments

 

Micrium and IAR collaborated in providing the first thread-safe support in µC/OS-III for the IAR DLIB run-time library. Protection for such non-reentrant functions as strtok(), rand(), errno() and more are local to each thread. Global and static variables typically used by these functions are protected by the Micrium kernel.


Who should use this RTOS?

Developers who want to save time on their current and future embeddedsystem projects, and who require a robust RTOS built on clean, easy-to-implement code

Supported Processors

See the complete list of available ports in the Dow nload Center.

Maximum ROM Footprint (Unscaled)

24 Kbytes

Minimum ROM Footprint (Scaled)

6 Kbytes

Number of Kernel Services

10 different using 80 API calls

Multitasking Model

Preemptive

Code Execution Entities

Tasks, ISRs

Dynamic Objects

Static and Dynamic

Data Movement

Message Queues (unlimited)

Semaphores – Full Counting

Yes (unlimited)

Mutexes – With Priority Inheritance

Yes (priority ceiling)

Event Flags

Yes (unlimited), configurable for 8, 16, or 32 bits

Memory Partitions – RAM Management

Yes (unlimited)

Timers

Yes (unlimited)

Number of tasks

Unlimited

Interrupt Disable Time

Near Zero

Click for Top of Page

Specifications


Supported processors

See the complete list of available ports in the Download Center.

FPU (Floating-Point Unit) Support

Yes

MPU (Memory Protection Unit) Support

Call.

MMU (Memory Management Unit) Support

Call.

 

Multi-core support

µC/OS-III supports Asymmetrical Multi-Processing (AMP) on multi-core MCUs.

 

Multitasking model

µC/OS-III supports preemptive multitasking.

Maximum number of Tasks

Unlimited

Round-Robin Scheduling

Yes (optional)Unlimited number of tasks at each priority

Clear stack at task creation

Yes (optional per-task)

Run-time stack checking

Yes (optional)

Catch/delete task that return

Yes

Reentrant libraries

Yes (support of Thread Local Storage for compiler)

Task registers

Yes (unlimited)

Tick rate

Configurable (Typ. 1 to 100 ms)

 

ISR stack

Micrium provides an optional ISR stack for µC/OS-III.

User definable hooks

Yes

Task switch hook

Yes

Idle task hook

Yes

Statistic task hook

Yes

Create task hook

Yes

Delete task hook

Yes

Catch task return hook

Yes

Initialization hook

Yes

 

Footprint

Memory footprint for µC/OS-III:

 

ROMable

Yes

Scalable

Yes (compile and run-time configurable)

ROM (Min-Max)

6K-24K (bytes)

RAM

1K+ (bytes)

Click for Top of Page

 

ANSC-C source

µC/OS-II is provided as clean and highly consistent ANSI-C source code.

Number of source files

Fewer than 25

Argument checking

Yes (optional)

ASCII names for kernel objects

Yes

MISRA-C:2004 rules

Yes (most)

 

Kernel services

µC/OS-III provides approximately 80 API calls.

Timeout on calls

Yes (prevents deadlocks)

Semaphores

Yes (unlimited)

Task semaphore

Yes

Event Flags

Yes (unlimited)

Mutual Exclusion Semaphores

Yes (full priority inheritance and nestable)

Message queues

Yes (unlimited)

Task message queue

Yes (optional)

Memory partitions

Yes (prevents fragmentation)

Software timers

Yes (unlimited)

Task suspend/resume

Yes

Lock/Unlock scheduler

Yes

Pend on multiple objects

Yes (optional)



Built-in performance measurements

Micrium provides optional built-in performance measurements.

Maximum interrupt disable time

Yes

Maximum scheduler lock time

Yes

Per-Task maximum interrupt disable time

Yes

Per-Task maximum scheduler lock time

Yes

Per-Task CPU usage (%)

Yes

Total CPU usage (%)

Yes

Per-Task stack usage

Yes

Per-Task run counter

Yes

Message pool statistics

Yes

Context switch counter

Yes

Debugger Kernel Awareness Support

Yes

 

 

Third-party certifications:

µC/OS-III is certified for:

Avionics, DO178B

In progress

Medical, FDA 510(k)

In progress

Industrial, IEC61508

 

 

Debugger kernel awareness support

µC/OS-III includes support for Kernel Awareness.

 

µC/Probe

Yes (Graphical Live Watch™)

IAR

Yes

Atollic

Yes

Others

Call.

Click for Top of Page

 


Supported CPU Architectures

The following table lists CPU architectures for which µC/OS-III ports are readily available. A new port can easily be written or adapted to your specific needs either by yourself or Micrium.

You can find example projects that demonstrate some of our currently-available µC/OS-III kernel ports in the Download Center.

Manufacturer

CPU

Altera

Nios II

 

 

Analog Devices

Blackfin

 

 

ARM

ARM7

ARM9

ARM11

 

Cortex-A8

Cortex-A9

 

 

Cortex-R4

 

 

 

Cortex-M0

Cortex-M1

Cortex-M3

 

Cortex-M4(F)

 

 

ATMEL

AVR

AVR32

 

 

 

 

 

Freescale

ColdFire

HCS12

 

IBM

PowerPC 405

 

 

Microchip

PIC24

PIC32

 

Microsoft

Win32

 

 

Renesas

78K0R

RL78

RX200

 

RX600

SuperH 2A

V850E/2/S

Texas Instruments

MSP430

 

 

Xilinx

MicroBlaze

 

 

 

Click for Top of Page