Lazuli
Loading...
Searching...
No Matches
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.
 

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 209 of file task.h.

Field Documentation

◆ sreg

volatile uint8_t TaskContextLayout::sreg

State register.

Definition at line 211 of file task.h.

◆ r0

volatile uint8_t TaskContextLayout::r0

Register 0.

Definition at line 214 of file task.h.

◆ r1

volatile uint8_t TaskContextLayout::r1

Register 1.

Definition at line 217 of file task.h.

◆ r2

volatile uint8_t TaskContextLayout::r2

Register 2.

Definition at line 220 of file task.h.

◆ r3

volatile uint8_t TaskContextLayout::r3

Register 3.

Definition at line 223 of file task.h.

◆ r4

volatile uint8_t TaskContextLayout::r4

Register 4.

Definition at line 226 of file task.h.

◆ r5

volatile uint8_t TaskContextLayout::r5

Register 5.

Definition at line 229 of file task.h.

◆ r6

volatile uint8_t TaskContextLayout::r6

Register 6.

Definition at line 232 of file task.h.

◆ r7

volatile uint8_t TaskContextLayout::r7

Register 7.

Definition at line 235 of file task.h.

◆ r8

volatile uint8_t TaskContextLayout::r8

Register 8.

Definition at line 238 of file task.h.

◆ r9

volatile uint8_t TaskContextLayout::r9

Register 9.

Definition at line 241 of file task.h.

◆ r10

volatile uint8_t TaskContextLayout::r10

Register 10.

Definition at line 244 of file task.h.

◆ r11

volatile uint8_t TaskContextLayout::r11

Register 11.

Definition at line 247 of file task.h.

◆ r12

volatile uint8_t TaskContextLayout::r12

Register 12.

Definition at line 250 of file task.h.

◆ r13

volatile uint8_t TaskContextLayout::r13

Register 13.

Definition at line 253 of file task.h.

◆ r14

volatile uint8_t TaskContextLayout::r14

Register 14.

Definition at line 256 of file task.h.

◆ r15

volatile uint8_t TaskContextLayout::r15

Register 15.

Definition at line 259 of file task.h.

◆ r16

volatile uint8_t TaskContextLayout::r16

Register 16.

Definition at line 262 of file task.h.

◆ r17

volatile uint8_t TaskContextLayout::r17

Register 17.

Definition at line 265 of file task.h.

◆ r18

volatile uint8_t TaskContextLayout::r18

Register 18.

Definition at line 268 of file task.h.

◆ r19

volatile uint8_t TaskContextLayout::r19

Register 19.

Definition at line 271 of file task.h.

◆ r20

volatile uint8_t TaskContextLayout::r20

Register 20.

Definition at line 274 of file task.h.

◆ r21

volatile uint8_t TaskContextLayout::r21

Register 21.

Definition at line 277 of file task.h.

◆ r22

volatile uint8_t TaskContextLayout::r22

Register 22.

Definition at line 280 of file task.h.

◆ r23

volatile uint8_t TaskContextLayout::r23

Register 23.

Definition at line 283 of file task.h.

◆ r24

volatile uint8_t TaskContextLayout::r24

Register 24.

Definition at line 286 of file task.h.

◆ r25

volatile uint8_t TaskContextLayout::r25

Register 25.

Definition at line 289 of file task.h.

◆ r26

volatile uint8_t TaskContextLayout::r26

Register 26.

Definition at line 292 of file task.h.

◆ r27

volatile uint8_t TaskContextLayout::r27

Register 27.

Definition at line 295 of file task.h.

◆ r28

volatile uint8_t TaskContextLayout::r28

Register 28.

Definition at line 298 of file task.h.

◆ r29

volatile uint8_t TaskContextLayout::r29

Register 29.

Definition at line 301 of file task.h.

◆ r30

volatile uint8_t TaskContextLayout::r30

Register 30.

Definition at line 304 of file task.h.

◆ r31

volatile uint8_t TaskContextLayout::r31

Register 31.

Definition at line 307 of file task.h.

◆ pc

volatile FuncVoidVoid TaskContextLayout::pc

Program counter for the task.

Definition at line 310 of file task.h.

◆ 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 318 of file task.h.


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