Internal Interface: task management.
More...
#include <config.h>
#include "../tm.h"
Go to the source code of this file.
Internal Interface: task management.
- Author
- Markus L. Noga marku.nosp@m.s@no.nosp@m.ga.de
Definition in file tm.h.
◆ IDLE_STACK_SIZE
#define IDLE_STACK_SIZE 128 |
should suffice for IRQ service
Definition at line 48 of file tm.h.
◆ SP_RETURN_OFFSET
#define SP_RETURN_OFFSET 10 |
return address offset on stack in words.
Definition at line 46 of file tm.h.
◆ tm_idle_task()
int tm_idle_task |
( |
int |
, |
|
|
char ** |
|
|
) |
| |
|
extern |
the idle task
infinite sleep instruction to conserve power
◆ tm_init()
◆ tm_scheduler()
the process scheduler
- Parameters
-
old_sp | current task's current stack pointer |
- Returns
- new task's current stack pointer
actual context switches performed by tm_switcher (assembler wrapper)
◆ tm_start()
start task management
called in single tasking mode after task setup
◆ tm_switcher()
void tm_switcher |
( |
void |
| ) |
|
|
extern |
the task switcher IRQ handler
located in the assembler process module
◆ ctid
ptr to current process data
◆ nb_system_tasks
volatile unsigned int nb_system_tasks |
|
extern |
◆ nb_tasks
volatile unsigned int nb_tasks |
|
extern |
◆ td_single
single process process data
◆ tm_timeslice
volatile unsigned char tm_timeslice |
|
extern |