RTOS

Frozen Content

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:
RECEIVE_UNQUEUED_INTERNAL or
RECEIVE_QUEUED_INTERNAL

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.

See Also

You are reporting an issue with the following selected text and/or image within the active document: