Showing results for 
Search instead for 
Did you mean: 




µC/OS-II, The Real-Time Kernelis a highly portable, ROMable, very scalable, preemptive real-time, multitasking kernel (RTOS) for microprocessors and microcontrollers.µC/OS-II can manage up to 255 tasks and provides the following services:

  • Semaphores
  • Mutual Exclusion Semaphores (to reduce priority inversions)
  • Event Flags
  • Message Mailboxes
  • Message Queues
  • Task Management (Create, Delete, Change Priority, Suspend/Resume etc.)
  • Fixed Sized Memory Block management
  • Time Management
  • Timer Management


NOTE: The Nios2 uC/OS-II port is NOT compatible with the Nios2 EIC (External Interrupt Controller). Use the IIC (Internal Interrupt Controller) for any uC/OS-based system. 

For more information about TCP/IP network stacks, file systems, GUI libraries and other software available for uC/OS-II go to: http://micrium.com/products/rtos/kernel/rtos.html.

Getting Started Example Design


This application demonstrates the use of MicroC/OS-II message mailboxes, and additionally, serves as a good starting point for designs using MicroC/OS-II with Nios II. Message mailboxes are generally used to signify the occurance of an event and/or for inter-task communication. MicroC/OS-II message mailboxes are very similar to message queues, except that they do not hold multiple elements like a queue. New mailbox message postings will overwrite previous messages posted to the mailbox even if the messages have not been read by any task.

The application has three tasks (task1, task2, task3) that post messages to three different message mailboxes (mailbox1, mailbox2, mailbox3). Upon receiving a message, the task increments the value of the message and then passes the new value to the next task through a different message mailbox.


Note: If you are on Nios II EDS v7.2 and prior then the installation directory already contains this example.

Follow the steps for Nios II EDS V8.0 and later:

  1. Download the zip file
  2. Copy the hardware example design for the developement kit you have from the Nios II EDS installation (C:\\\\altera\\\\<version number>\\\\nios2eds\\\\example\\\\<verilog or vhdl>) to your working directory.
  3. Extracts the contents of the zip file to the software application directory for teh hardware project in your working directory. e.g. \\\\<work dir>\\\\<hardware_design_name>\\\\software_examples\\\\app directory. For example, if you are using the standard verilog hardware design on the Nios II Development Kit, Cyclone II Edition, extract the zip file to /<work dir>\\\\niosII_cycloneII_2c35\\\\standard\\\\\\\\software_examples\\\\app
  4. Refer to the introduction to the II Software Build tools chapter for instructions on building and running the example

Hardware Boards:

  • The supported Example Hardware Platforms:


Full Featured

Low Cost

  • Supported Development Boards

Nios Development Board, Stratix II Edition

Nios Development Board, Stratix Professional Edition

Nios Development Board, Stratix Edition

Nios Development Board, Cyclone Edition

  • System Library settings:

RTOS Type - MicroC/OS-II

Period System Timer - SYS_CLK_TIMER

Known Issues:

If this design is run on the ISS, terminal output will take several

minutes per iteration.

Peripherals Exercised:

  • JTAG Uart
Version history
Last update:
‎12-16-2022 04:33 PM
Updated by: