AutosarOS
|
Implementation of Operating System Control Block. More...
#include "OCB.h"
#include "OS.h"
#include "context.h"
#include "assert.h"
#include <avr/interrupt.h>
#include "AppCfg.h"
Go to the source code of this file.
Macros | |
#define | OS_CONFIG_GEN_DATA_STRUCT |
#define | OS_CONFIG_GEN_TCB |
#define | OS_CONFIG_GEN_FUNC |
Variables | |
volatile bool | isISR = false |
Is currently ISR context? More... | |
volatile uint8_t | isCat2ISR |
Priority of current Cat 2 ISR (zero if not in Cat 2 ISR) More... | |
volatile TaskType | currentTask = INVALID_TASK |
Task currently being executed. More... | |
volatile uint32_t | sysTick |
Current system tick. More... | |
volatile uint8_t | needScheduling |
Scheduling needed during timer interrupt. More... | |
volatile uint8_t | blockScheduling |
Block scheduling. More... | |
bool | forceScheduling |
Force the next rescheduling. More... | |
volatile uint8_t | needSysTickEval |
SysTick must be evaluated during timer interrupt. More... | |
struct resource_s *volatile | isrResourceQueue = NULL |
Resource queue for resources taken by Cat2 ISRs. More... | |
Implementation of Operating System Control Block.
Definition in file OCB.c.
volatile uint8_t blockScheduling |
volatile TaskType currentTask = INVALID_TASK |
bool forceScheduling |
Force the next rescheduling.
If set to true the next call of OS_Schedule() will perform a rescheduling even if current task is marked as non-preemptive.
This should only be set immediately before OS_Schedule() is called.
volatile uint8_t isCat2ISR |
struct resource_s* volatile isrResourceQueue = NULL |
volatile uint8_t needScheduling |
volatile uint8_t needSysTickEval |