Micrium µC/OS-II / III for Altera Cyclone-V / Cortex-A9 & NIOS-II

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 NIOS-II & Cortex 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. 

Altera FPGAs 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 Device USB Host
CAN Bus Modbus Bluetooth
File System Graphical UI Java 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 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


Memory footprint for µC/OS-III:

ROMable Yes
Scalable Yes (compile and run-time configurable)
ROM (Min-Max) 6K-24K (bytes)
RAM 1K+ (bytes)

ANSC-C source

µC/OS-III 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

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

Debugger kernel awareness support

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

µC/Probe Yes (Graphical Live Watch™)
Compilers for C/C++Real Time Operating SystemsDebuggers & JTAG EmulatorsEmbedded Software Testing solutionsMiddleware & 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