#include "opale_internal.h"
Include dependency graph for opale_task.c:
Go to the source code of this file.
Functions | |
short | op_TaskStart (register t_TASK *task asm("%a3"), register void(*taskEntryFunction)(register void *asm("%a0")) asm("%a2"), register char *stackPointer asm("%a1"), register unsigned char ident asm("%d0"), register void *taskFunctionArgs asm("%a0")) |
void | op_TaskStop (void) |
void | op_TaskWaitForTicks (register unsigned short ticks asm("%d0")) |
|
Loads a task in the kernel. After the call to op_TaskStart, if the scheduler is activated, the highest priority task will be made ready to run.
References addTaskToTable(), InitStack(), op_EnterCriticalSection, op_ExitCriticalSection, op_Scheduler, readyTasks, and runningTasks. Referenced by op_KernelInit(). Here is the call graph for this function: ![]() |
|
Stops the current task. Use it at the end of a task function when you want to end it. Remember task functions shall not return, so if you want to quit one of those, use op_TaskStopDefinition at line 46 of file opale_task.c. References currentTask, t_TASK::ident, op_EnterCriticalSection, op_ExitCriticalSection, op_Scheduler, readyTasks, removeTaskFromTable(), and runningTasks. Here is the call graph for this function: ![]() |
|
Make a task wait for a number of ticks. A tick occurs each time the int 5 is called. The task will be made ready to run when the given time has expired and it is the highest priority task ready to run.
References currentTask, t_TASK::ident, idleTask, t_TASK::nextSleeping, op_EnterCriticalSection, op_ExitCriticalSection, op_Scheduler, t_TASK::prevSleeping, readyTasks, removeTaskFromTable(), and t_TASK::tickDelay. Here is the call graph for this function: ![]() |