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

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