26#define XF_OSAL_CHECK(x) if (x != XF_OK)\
28 XF_LOGE(TAG, "xf check error: %d", x);\
29 xf_osal_thread_delete(NULL);\
37static void task1(
void *argument);
38static void task2(
void *argument);
39static void task3(
void *argument);
54 .stack_size = 1024 * 2,
59 .stack_size = 1024 * 2,
64 .stack_size = 1024 * 2,
87static void task1(
void *argument)
97 XF_LOGI(
TAG,
"thread stack space: %d", stack_space);
103 XF_LOGI(
TAG,
"thread priority: %d", priority);
119 XF_LOGI(
TAG,
"task1: An error occurred while resuming task2.");
130static void task2(
void *argument)
133 uint32_t tick_count = 0;
140 XF_LOGI(
TAG,
"task2 active count: %ld", count);
150static void task3(
void *argument)
xf_err_t xf_osal_kernel_lock(void)
锁定 RTOS 内核调度程序。
xf_err_t xf_osal_kernel_unlock(void)
解锁 RTOS 内核调度程序。
uint32_t xf_osal_kernel_ms_to_ticks(uint32_t ms)
将 ms 数转为滴答数.
enum _xf_osal_state_t xf_osal_state_t
线程状态或内核状态。
uint32_t xf_osal_kernel_get_tick_count(void)
获取 RTOS 内核滴答计数。
uint32_t xf_osal_thread_get_stack_space(xf_osal_thread_t thread)
根据执行过程中的栈记录获取线程的可用堆栈空间。
xf_err_t xf_osal_thread_delete(xf_osal_thread_t thread)
终止线程的执行。
xf_osal_thread_t xf_osal_thread_get_current(void)
返回当前正在运行的线程的线程句柄。
const char * xf_osal_thread_get_name(xf_osal_thread_t thread)
获取线程的名称。
xf_osal_thread_t xf_osal_thread_create(xf_osal_thread_func_t func, void *argument, const xf_osal_thread_attr_t *attr)
创建一个线程并将其添加到活动线程中。
xf_err_t xf_osal_delay_until(uint32_t ticks)
(睡眠)等到指定时间刻度。
xf_err_t xf_osal_thread_suspend(xf_osal_thread_t thread)
暂停指定线程的执行,使其进入 BLOCKED 状态。
enum _xf_osal_priority_t xf_osal_priority_t
线程优先级。
uint32_t xf_osal_thread_get_count(void)
获取活动线程的数量。
xf_err_t xf_osal_thread_yield(void)
将控制权传递给处于状态 READY 的下一个线程。
void * xf_osal_thread_t
线程句柄。
xf_err_t xf_osal_delay_ms(uint32_t ms)
(睡眠)等待超时,以 ms 为单位。
xf_osal_state_t xf_osal_thread_get_state(xf_osal_thread_t thread)
获取线程的当前线程状态。
xf_err_t xf_osal_thread_resume(xf_osal_thread_t thread)
恢复线程的执行。
xf_osal_priority_t xf_osal_thread_get_priority(xf_osal_thread_t thread)
获取线程的当前优先级。
xf_err_t xf_osal_thread_set_priority(xf_osal_thread_t thread, xf_osal_priority_t priority)
更改线程的优先级。
@ XF_OSAL_PRIORITY_NORMOL
@ XF_OSAL_PRIORITY_BELOW_NORMAL
@ XF_OSAL_PRIORITY_ABOVE_NORMAL
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
static void task2(void *argument)
static xf_osal_thread_t thread1
static xf_osal_thread_t thread[2]
static void task3(void *argument)
static void task(xf_task_t task)
#define XF_LOGI(tag, format,...)
#define XF_LOGE(tag, format,...)