uC RTOS plugin for winIDEA is used to view uC RTOS tasks as a list in a dedicated plugin window.
Start winIDEA and load the plugin in Plugins / Options dialog by selecting uC RTOS and clicking the << button.
uC RTOS plugin will be loaded
Once loaded, plugin's main window showing tasks can be opened or closed by selecting Plugins / uC RTOS / Tasks.
NOTE: Select the correct uC RTOS version running on target in Plugins / uC RTOS / Configuration. This is necessary because the symbol names for the relevant objects change between RTOS versions.
As long as memory is not accessible all windows will report “Cannot access task object or bad configuration” like shown on image below. Task list will appear once the debug session is started with a download.
Opened main (task) window
If the message still persists, this indicates that the object symbols could not be evaluated. In this case use the Symbol Browser (View / Symbols) to check if the symbols are available. Depending on the version of the uC RTOS you are using, look for the following symbols:
-Version 2: “OSTCBList” and “OSTCBCur”
-Version 3: “OSTaskDbgListPtr” and “OSTCBCurPtr”
Symbol availability depends on code, compile tool and its settings, download file debug information format, loader settings etc.
To adjust download file options select download file and click “Properties” in Debug / Files For Download dialog. Select the download file and click Properties. In Download File Options dialog click on Advanced button to open dialog for setting advanced options.
After download (or reset) objects are in undefined state. This is indicated with "RTOS in undefined state". Once current task is set the windows should display associated content.
The windows content is refreshed after CPU stops (if AutoRefresh option is selected in the configuration window) which means that while CPU is running, content is not refreshed.
Image below shows a task list. Note that currently active task row has green background. For more information about displayed task properties refer to the uC RTOS documentation.
Tasks can also be viewed in winIDEA dedicated Tasks window. This window is opened by selecting View / Tasks from winIDEA main menu (available only when the operating system is selected in Debug / Operating System). The preview is shown on image below. Tasks window is a standard part of winIDEA and is meant as unified RTOS window. It is populated with data provided by RTOS plugin for specific RTOS. uC RTOS plugin provides this data for uC RTOS. Note that unified window doesn't show RTOS specific information as dedicated plugin window does. Additional info in unified window can be viewed by selecting desired task and pressing the Task Properties button.
Also note that task debug context is available for any task when the CPU is in STOP mode. Context is entered by double clicking on desired task in Task window or selecting desired task and pressing the Set Context button. This feature is currently available only for ARM architecture and is not available from plugin windows.
winIDEA dedicated Tasks window
uC RTOS plugin supports task aware profiling. When plugin is loaded 32 bit data under current task pointer symbol (OSTCBCur / OSTCBCurPtr) will be profiled. The value on this address is a pointer to the Task Control Block (TCB) of the current task.
Timing information for these data writes indicates the times of task switches. Task names are read from the TCBs when the trace session is started. If the OS is not yet set up at this time, task names will not be displayed.
Task profiling timeline