| 12345678910111213141516171819202122232425262728293031323334 |
- #ifndef _OS_TASK_H__
- #define _OS_TASK_H__
- #include "bsp/bsp.h"
- #include "os/os_type.h"
- /*
- Task如果没有调用task_yield/delay 永远执行下去
- */
- #define TICKS_PER_HZ 1000
- #define ticks_2_ms(ticks) (ticks*(1000/TICKS_PER_HZ))
- #define os_disable_irq() __disable_irq()
- #define os_enable_irq() __enable_irq()
- typedef void (*task_func)(void *);
- void cpu_counts_enable(void);
- u32 cpu_counts_abs(void);
- void cpu_udelay(u32 delay);
- u64 co_task_sys64_ticks(void);
- u64 co_task_sys64_ts(void);
- void *co_task_create(task_func func, void *param, u16 stack_size);
- void co_task_delay(int ms); //task 延时
- void co_task_yield(void); //task 让出cpu
- void co_task_schedule(void); //task开始调度
- void *co_malloc(u32 size);
- void co_free(void *ptr);
- float cpu_count_times(u32 prev);
- float cpu_times_bew_counts(u32 now, u32 prev);
- #define cpu_count_2_time(c) ((float)c / (float)SystemCoreClock)
- #endif /*_OS_TASK_H__*/
|