00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __sys_tm_h__
00027 #define __sys_tm_h__
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033 #include <config.h>
00034
00035 #ifdef CONF_TM
00036
00037 #include "../tm.h"
00038
00040
00041
00042
00044
00045
00046 #define SP_RETURN_OFFSET 10
00047
00048 #define IDLE_STACK_SIZE 128
00049
00050
00051
00052
00053
00055
00056 extern tdata_t td_single;
00057
00058 extern tdata_t *ctid;
00059
00060 extern volatile unsigned int nb_tasks;
00061
00062
00063
00064 extern volatile unsigned int nb_system_tasks;
00065
00066
00067 extern volatile unsigned char tm_timeslice;
00068
00069
00071
00072
00073
00075
00077
00078
00079 extern void tm_init(void);
00080
00081
00083
00085 extern void tm_start(void);
00086
00087
00089
00091 extern void tm_switcher(void);
00092
00093
00095
00100 extern size_t *tm_scheduler(size_t *old_sp);
00101
00102
00104
00106 extern int tm_idle_task(int,char**);
00107
00108 #endif // CONF_TM
00109
00110 #ifdef __cplusplus
00111 }
00112 #endif
00113
00114 #endif // __sys_tm_h__
00115