#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__*/