RTOS
The following content has been imported from Legacy Help systems and is in the process of being checked for accuracy.
Function
The RTOS panel enables you to interrogate the state and operation of the Real Time Operating System, as you debug the active RTOS embedded project.
Content and Use
When initially opened, the RTOS panel is empty. To populate the panel, first start a debug session for the RTOS embedded project.
An additional entry - RTOS - will become available on both the Debug main menu and Debug toolbar. Clicking on this entry in either location will provide access to a list of sub-entries relating to the six RTOS information groups available. The final entry in the list accesses a dialog providing RTOS-related version information.
As you click on an entry for an information group, a region for that group will be added to the RTOS panel. Each region can be individually expanded, collapsed or deleted as required.
The following sections detail the non-editable debug information available within each of the information groups that can be displayed in the panel.
System Status
This region of the panel displays the following global status information for the system:
RUNNINGTASK | - | Specifies which task is currently running. Set to IDLE when none of the application tasks is in the running state |
RUNNINGRESOURCE | - | Specifies the resource (if any) which is currently locked by the running task |
RUNNINGTASKPRIORITY | - | Current priority of the task referred to by RUNNINGTASK. This priority can be different from the static task priority, due to the Ceiling Priority Protocol |
RUNNINGISR2 | - | Specifies which Category 2 ISR is running (if the current code executes in a Category 2 ISR). Set to NO_ISR in the case where the current code does not execute in a Category 2 ISR |
LASTERROR | - | Last error code detected. At start-up the error code is initialized with E_OK. (Only when running in extended mode) |
SYSLASTERROR | - | System service where LASTERROR occurred. (Only when running in extended mode) |
CURRENTAPPMODE | - | Current application mode |
Tasks
This region of the panel displays the following set of properties with respect to each task in the system:
PRIORITY | - | Current priority of the task. This priority can be different from the static task priority, due to the Ceiling Priority Protocol |
STATE | - | Current state of the task (SUSPENDED, READY, RUNNING or WAITING) |
CURRACT | - | Number of current activations for the task |
vs_Sched | - | Scheduling policy of the task (NON or FULL) |
vs_Ev_Wait | - | 'wait mask' for the task. This is a mask of all the events that the task is waiting for (if any) |
vs_Ev_Set | - | 'set mask' for the task. This is a mask of all the events that are already set for the task |
vs_Resource | - | Resource locked by the task if running through critical code |
vs_Group | - | Internal resource identifying the group to which the task belongs (if any) |
Alarms
This region of the panel displays the following set of properties with respect to each alarm in the system:
ALARMTIME | - | Time remaining until the alarm next expires |
CYCLETIME | - | Cycle time for cyclic alarms. The value is 0 for non-cyclic alarms |
STATE | - | Specifies whether the alarm is RUNNING, STOPPED or INPROCESS (the time has expired but the RTOS has not yet finished processing) |
COUNTER | - | Counter on which the alarm is based |
ACTION | - | The action (ACTIVATETASK, SETEVENT or ALARMCALLBACK) that will be performed by the alarm when expiring |
vs_task | - | The task that is activated by the alarm (if ACTION is ACTIVATETASK) or the task receiver of the event (if ACTION is SETEVENT) |
vs_event | - | The event that is set when ACTION is SETEVENT |
vs_callback | - | Physical address of callback function when ACTION is ALARMCALLBACK (0 otherwise) |
Resources
This region of the panel displays the following set of properties with respect to each resource in the system:
STATE | - | Represents the state of a resource (LOCKED or UNLOCKED). (Only when running in extended mode) |
PRIORITY | - | Ceiling priority of the resource |
vs_property | - | Property of the resource (STANDARD, INTERNAL or LINKED) |
Messages
This region of the panel displays the following set of properties with respect to each message in the system:
TYPE | - | Indicates the message type: |
SENDINGMESSAGE | - | Symbolic name of the sender |
vs_LENGTH | - | Indicates the length of the message data |
vs_DATAPTR | - | Pointer to the receive message object (for queued messages, vs_DATAPTR points to the next available element of the queue, if not empty) |
vs_QueueUsed | - | Number of non-read messages already in the queue. If zero, the queue is empty. (Only for queue messages) |
vs_QueueAvailable | - | Number of messages that still might be received without suffering from overflow. If zero, the queue is full. (Only for queue messages) |
Notes
The panel can be populated, irrespective of the mode in which the Debugger is configured:
- Simulate - debugging of the embedded software alone
- Debug - debugging of the downloaded source code running in the target MCU, the parent design of which has been downloaded to, and is running on, the physical FPGA device.
For more detailed information with respect to RTOS, refer to the TSK51x, TSK52x RTOS Guide, which can be found in the the Altium Designer Documentation Library.