co_task.h 689 B

1234567891011121314151617181920212223242526
  1. #ifndef _OS_TASK_H__
  2. #define _OS_TASK_H__
  3. #include "bsp/bsp.h"
  4. #include "os/os_type.h"
  5. /*
  6. Task如果没有调用task_yield/delay 永远执行下去
  7. */
  8. #define TICKS_PER_HZ 1000
  9. #define ticks_2_ms(ticks) (ticks*(1000/TICKS_PER_HZ))
  10. typedef void (*task_func)(void *);
  11. void cpu_counts_enable(void);
  12. u32 cpu_counts_abs(void);
  13. void cpu_udelay(u32 delay);
  14. u64 co_task_sys64_ticks(void);
  15. u64 co_task_sys64_ts(void);
  16. void *co_task_create(task_func func, void *param, u16 stack_size);
  17. void co_task_delay(int ms); //task 延时
  18. void co_task_yield(void); //task 让出cpu
  19. void co_task_schedule(void); //task开始调度
  20. void *co_malloc(u32 size);
  21. void co_free(void *ptr);
  22. #endif /*_OS_TASK_H__*/