Represents a task.
More...
#include <task.h>
Represents a task.
Definition at line 82 of file task.h.
◆ name
The name of the task.
Never changes once the Task is allocated.
Definition at line 88 of file task.h.
◆ entryPoint
| void(* Task::entryPoint) (void) |
Entry point of execution of the task.
Never changes once the Task is allocated.
Definition at line 95 of file task.h.
◆ stackOrigin
The bottom of the allocated stack for the task.
Never changes once the Task is allocated.
- Warning
- This member always points to the bottom of the task's stack (the first byte of the stack). So if the stack grows downwards (as on many architectures) this will always point to an address higher or equal to member stackPointer.
Definition at line 108 of file task.h.
◆ stackSize
The stack size of the task.
Never changes once the Task is allocated.
Definition at line 115 of file task.h.
◆ stackPointer
The saved stack pointer of the task.
Definition at line 120 of file task.h.
◆ schedulingPolicy
The scheduling policy.
Definition at line 125 of file task.h.
◆ stateQueue
The scheduling queue on which the task is stored.
Definition at line 130 of file task.h.
◆ period
The period (T) of the task, expressed as an integer number of time units.
Defined by task configuration when registering task, then left read-only.
Definition at line 136 of file task.h.
◆ completion
The completion time (C) of the task (worst case execution time), expressed as an integer number of time units.
Defined by task configuration when registering task, then left read-only.
Definition at line 143 of file task.h.
◆ timeUntilCompletion
The number of time units until the task will complete its execution.
Updated by scheduler.
Definition at line 149 of file task.h.
◆ timeUntilActivation
The number of time units until the task will be activated.
Updated by scheduler.
Definition at line 155 of file task.h.
◆ priority
The task priority.
Only used for non-cyclic tasks.
Definition at line 160 of file task.h.
◆ timeUntilTimerExpiration
The number of time units until the software timer expires for the task.
Definition at line 165 of file task.h.
◆ taskToSchedulerMessage
The message the task has to pass to the scheduler for the next scheduling operation (i.e.
after its time slice expires).
- Attention
- Declared volatile because it can be updated both by the task itself or the kernel.
- Warning
- This field is declared with a data type that is read/write atomic. If the field taskToSchedulerMessageParameter is used to pass a message to the scheduler, then this field taskToSchedulerMessage must be written last to ensure the integrity of all the pieces of data that compose the message to the scheduler.
Definition at line 180 of file task.h.
◆ taskToSchedulerMessageParameter
| void* Task::taskToSchedulerMessageParameter |
A parameter that can accompany a taskToSchedulerMessage.
This parameter is a "universal pointer" to the actual parameter.
Definition at line 187 of file task.h.
The documentation for this struct was generated from the following file: