μC/OS
On this page:
The running thread profiling is supported for μC/OS. This means that the information about whether a thread is running or not is available, but there’s no detailed state info.
Apart from the steps in Requirements section, no additional winIDEA configuration is needed.
The thread name is shown in the Profiler Timeline if available at Analyzer session start, otherwise pointer respective to Thread Control Block is displayed.
Windows are available as separate windows via View | [<application name>] uC RTOS | <window>.
Debug support provides several dedicated windows for various kernel objects:
Refer to the official μC/OS documentation for extensive descriptions of these structures and meaning of their values.
•μC/OS-III must be compiled with OS_CFG_DBG_EN enabled
•Other options depending on what information you want to see
To get access to all supported kernel objects as separate views, winIDEA OS awareness needs to be configured.
1. Open winIDEA and go to Debug | Configure Session… | Applications | Edit… | Application select uCOS from OS drop-down.
2. Select Configure… and set appropriate μC/OS version and other options to match your configuration.

Parameter |
Description |
|---|---|
Name |
Name of the task if not NULL |
Task Ptr |
Pointer to the Task structure |
State |
On version 3: •RDY •DLY •PEND •PEND TIMEOUT •SUSPENDED •DLY SUSPENDED •PEND SUSPENDED •TIMEOUT SUSPENDED •DEL
On version 2: •RDY •SEM •MBOX •Q •SUSPEND •MUTEX •FLAG •MULTI
See μC/OS documentation for detailed explanation. |
Pend |
On version 3: •NOTHING •FLAG •TASK_Q •MULTI •MUTEX •Q •SEM •TASK_SEM
On version 2: •OK •TO •ABORT
See μC/OS documentation for detailed explanation. |
Priority |
of a task |
Stack Size |
of a task |
Stack Max. Usage |
of a task |
Cycle Delta (Ver 3 only) |
value of OS_TS_GET() - .CyclesStart |
Task Switch Num. |
Number of time the task was switched in |
The Timers window shows information about all threads in the system. To open it go to View | [<application name>] uCOS | Timers.
Parameter |
Description |
|---|---|
Name |
Name of the Timer |
Callback |
Address of the callback function |
Remaining |
Time until timer expires and calls callback |
Delay |
Initial delay number in ticks |
Period |
Interval of the timer in system ticks |
Option |
•OneShot •Periodic •Callback •Callback with args |
State |
•Unstopped •Stopped •Running •Completed •Timeout |
The Memory Pools window shows information about all Memory Partitions in the system. To open it go to View | [<application name>] uCOS | Memory Pools.
Parameter |
Description |
|---|---|
Name |
Name of the memory pool |
Address |
Starting address of the Pool |
Block size |
Size of blocks in Bytes |
Max |
|
Free |
Number of free blocks |
The Mutex window shows information about all mutexes in the system. To open it go to View | [<application name>] uCOS | Mutexes.
Parameter |
Description |
|---|---|
Name |
Name of the mutex
If no name is provided the following is displayed: •uC/OS-II: event index •uC/OS-III: Pointer to the object |
Owner |
Thread pointer which has acquired the mutex |
Waiting |
Number of waiting threads to acquire the mutex (only version 3) |
The Semaphoreswindow shows information about all semaphores in the system. To open it go to View | [<application name>] uCOS | Semaphores.
Parameter |
Description |
|---|---|
Name |
Name of the semaphore
If no name is provided the following is displayed: •uC/OS-II: event index •uC/OS-III: Pointer to the object |
Tokens |
Number tokens in semaphore object |
The Queues window shows information about all queues in the system. To open it go to View | [<application name>] uCOS | Queues.
Parameter |
Description |
|---|---|
Name |
Name assigned to the queue
If no name is provided the following is displayed: •uC/OS-II: event index •uC/OS-III: Pointer to queue object |
Size |
Size of the queue |
Messages |
Number of messages in the queue |
Pending Tasks |
Number of tasks waiting for the message |