Micrium µC/OS-II / III for Tensilica core

For more information:

Ohad Beit-On



ucOS-II & ucOS-III are Micrium’s advanced Real-Time Operating Systems (RTOS) designed specifically for deeply embedded applications.

ucOS-II/III are highly portable, ROMable, scalable, preemptive, real-time, deterministic, multitasking kernel optimized for SoC/VLSI Tensilica based chip sets.

With a wide selection of add-on SW components, such as Embedded File System, TCP/IP stack, USB and more, you can build a complete system fast and reliable. 

Tensilica cores support list

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


With uC/OS-II or III you can build your embedded systems with additional SW components and options:

  מיקריום כמערכת



USB DeviceUSB Host
CAN BusModbusBluetooth
File SystemGraphical UIJava App Development


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 TasksUnlimited
Round-Robin SchedulingYes (optional)
Unlimited number of tasks at each priority
Clear stack at task creationYes (optional per-task)
Run-time stack checkingYes (optional)
Catch/delete task that returnYes
Reentrant librariesYes (support of Thread Local Storage for compiler)
Task registersYes (unlimited)
Tick rateConfigurable (Typ. 1 to 100 ms)

ISR stack

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

User definable hooksYes
Task switch hookYes
Idle task hookYes
Statistic task hookYes
Create task hookYes
Delete task hookYes
Catch task return hookYes
Initialization hookYes


Memory footprint for µC/OS-III:

ScalableYes (compile and run-time configurable)
ROM (Min-Max)6K-24K (bytes)
RAM1K+ (bytes)

ANSC-C source

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

Number of source filesFewer than 25
Argument checkingYes (optional)
ASCII names for kernel objectsYes

Kernel services

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

Timeout on callsYes (prevents deadlocks)
SemaphoresYes (unlimited)
Task semaphoreYes
Event FlagsYes (unlimited)
Mutual Exclusion SemaphoresYes (full priority inheritance and nestable)
Message queuesYes (unlimited)
Task message queueYes (optional)
Memory partitionsYes (prevents fragmentation)
Software timersYes (unlimited)
Task suspend/resumeYes
Lock/Unlock schedulerYes
Pend on multiple objectsYes (optional)

Built-in performance measurements

Micrium provides optional built-in performance measurements.

Maximum interrupt disable timeYes
Maximum scheduler lock timeYes
Per-Task maximum interrupt disable timeYes
Per-Task maximum scheduler lock timeYes
Per-Task CPU usage (%)Yes
Total CPU usage (%)Yes
Per-Task stack usageYes
Per-Task run counterYes
Message pool statisticsYes
Context switch counterYes
Debugger Kernel Awareness SupportYes
Compilers for C/C++Real Time Operating SystemsDebuggers & JTAG EmulatorsEvaluation Boards & Starter KitsMiddleware & SW componentsHW Testing solutions – Boundary-Scan (JTAG) & FunctionalProtocol and Bus Analyzers & StimulatorsHome of CANopen, EtherCAT, PowerLink, ProfiNet– SW Protocols, devices & SolutionsIn-Circuit/Parallel Engineering & Production Device Programmers (Flash/EPROMs/CPLDs…)Video & Audio SW CODECs components

For more information: Ohad Beit-On ohad@sightsys.co.il 054-2584032