Lazuli
Data Fields
TaskContextLayout Struct Reference

Represents the layout of the stack when saving the context of a task. More...

#include <task.h>

Data Fields

volatile uint8_t sreg
 State register.
 
volatile uint8_t r0
 Register 0.
 
volatile uint8_t r1
 Register 1.
 
volatile uint8_t r2
 Register 2.
 
volatile uint8_t r3
 Register 3.
 
volatile uint8_t r4
 Register 4.
 
volatile uint8_t r5
 Register 5.
 
volatile uint8_t r6
 Register 6.
 
volatile uint8_t r7
 Register 7.
 
volatile uint8_t r8
 Register 8.
 
volatile uint8_t r9
 Register 9.
 
volatile uint8_t r10
 Register 10.
 
volatile uint8_t r11
 Register 11.
 
volatile uint8_t r12
 Register 12.
 
volatile uint8_t r13
 Register 13.
 
volatile uint8_t r14
 Register 14.
 
volatile uint8_t r15
 Register 15.
 
volatile uint8_t r16
 Register 16.
 
volatile uint8_t r17
 Register 17.
 
volatile uint8_t r18
 Register 18.
 
volatile uint8_t r19
 Register 19.
 
volatile uint8_t r20
 Register 20.
 
volatile uint8_t r21
 Register 21.
 
volatile uint8_t r22
 Register 22.
 
volatile uint8_t r23
 Register 23.
 
volatile uint8_t r24
 Register 24.
 
volatile uint8_t r25
 Register 25.
 
volatile uint8_t r26
 Register 26.
 
volatile uint8_t r27
 Register 27.
 
volatile uint8_t r28
 Register 28.
 
volatile uint8_t r29
 Register 29.
 
volatile uint8_t r30
 Register 30.
 
volatile uint8_t r31
 Register 31.
 
volatile FuncVoidVoid pc
 Program counter for the task.
 
volatile FuncVoidVoid terminationCallback
 Callback to the scheduler to manage task termination. More...
 

Detailed Description

Represents the layout of the stack when saving the context of a task.

The context of a task consists in saving all of the registers and the program counter.

Warning
This in fact is a mixed representation of the original layout of the task and the saved layout of the task.
In the original layout (when the task is allocated) we are not interested in the registers. And in the saved layout (when the context is saved, e.g. preemption) we are not interested in the termination callback.

Definition at line 203 of file task.h.

Field Documentation

◆ terminationCallback

volatile FuncVoidVoid TaskContextLayout::terminationCallback

Callback to the scheduler to manage task termination.

Warning
This member is valid ONLY at the time when the task is allocated and never used its stack yet.

Definition at line 312 of file task.h.


The documentation for this struct was generated from the following file: