| 1234567891011121314151617181920 |
- #ifndef _OS_TASK_H__
- #define _OS_TASK_H__
- /*
- Task如果没有调用task_yield/delay 永远执行下去
- */
- typedef void (*task_func)(void *);
- typedef struct {
- u32 regs[16];//save the context
- u32 pstack; //stack addr
- u16 stack_size; //stack size
- u8 run_stat; //task stat, running, pending, blocked
- }tcb_t;
- void task_create(void *stack, u16 stack_size, task_func func, void *param);
- void task_delay(int ms); //task 延时
- void task_yield(void); //task 让出cpu
- void task_sched(void); //task开始调度
- #endif /*_OS_TASK_H__*/
|