Local

group Local_scheduler

scheduler locals

lorem

Macros

group Macros_scheduler

Variables

group Variables_scheduler

API’s

group Apis_scheduler_c

Getters

group Getters_scheduler_c

Setters

group Setters_scheduler_c

General

group General_scheduler_c

Functions

void scheduler_classicSchedulingCore(CosmOS_SchedulerConfigurationType *schedulerCfg, CosmOS_SchedulableConfigurationType **schedulableCfg, StackPointerType *stackPointerRetVal, BitWidthType *timerTicks, BitWidthType *scheduleTableIterator, BitWidthType scheduleTableElementsNum)

Classic scheduling core function. DEMO.

The implementation contains obtaining task variable from the schedule table based on the schedule table iterator argument. The task variable is then used in function task_getTaskSchedulable to get the schedulable variable. Then the stack is initialized for the schedulable variable by calling stackInit_schedulableStackInit. The schedule table iterator is then incremented by one and modulo operation is done by schedule table elements number to keep the iterator in the range of schedule table array. The schedule table iterator is then stored back to the scheduler variable by calling function scheduler_setSchedulerScheduleTableIterator. In the end the timer ticks are set to the task wcet that is obtained by calling task_getTaskWcet function.

Parameters
  • schedulerCfg[in] scheduler configuration pointer

  • schedulableCfg[in] schedulable configuration pointer

  • stackPointerRetVal[in] stack pointer address

  • timerTicks[in] timer ticks

  • scheduleTableIterator[in] schedule table iterator value

  • scheduleTableElementsNum[in] schedule table elements number

Returns

none