XFusion API v1.3.0
载入中...
搜索中...
未找到
examples/osal/kernel/main/xf_main.c

xf_osal 内核示例。

1
17/* ==================== [Includes] ========================================== */
18
19#include "xf_hal.h"
20#include "xf_osal.h"
21
22/* ==================== [Defines] =========================================== */
23
24#define TAG "main"
25
26#define XF_OSAL_CHECK(x) if (x != XF_OK)\
27{\
28 XF_LOGE(TAG, "xf check error: %d", x);\
29 return;\
30}
31
32/* ==================== [Typedefs] ========================================== */
33
34/* ==================== [Static Prototypes] ================================= */
35
36/* ==================== [Static Variables] ================================== */
37
38/* ==================== [Macros] ============================================ */
39
40/* ==================== [Global Functions] ================================== */
41
42void xf_main(void)
43{
44 xf_osal_version_t version;
45
46 char id_buf[32] = {0};
47 XF_OSAL_CHECK(xf_osal_kernel_get_info(&version, id_buf, sizeof(id_buf)));
48 XF_LOGI(TAG, "Kernel version: %s", id_buf);
50 XF_LOGI(TAG, "Kernel state: %d", state);
53 uint32_t tick_count = xf_osal_kernel_get_tick_count();
54 uint32_t tick_freq = xf_osal_kernel_get_tick_freq();
55 XF_LOGI(TAG, "Kernel tick count: %ld", tick_count);
56 XF_LOGI(TAG, "Kernel tick freq: %ld", tick_freq);
57 uint32_t ticks = 0;
58 uint32_t ms = 0;
59 ticks = 1000;
61 XF_LOGI(TAG, "Kernel ticks(%ld) to ms(%ld)", ticks, ms);
62 ms = 1000;
64 XF_LOGI(TAG, "Kernel ms(%ld) to ticks(%ld)", ms, ticks);
65}
66
67/* ==================== [Static Functions] ================================== */
void xf_main(void)
Definition xf_main.c:28
xf_err_t xf_osal_kernel_lock(void)
锁定 RTOS 内核调度程序。
uint32_t xf_osal_kernel_ticks_to_ms(uint32_t ticks)
将滴答数转为 ms.
xf_err_t xf_osal_kernel_unlock(void)
解锁 RTOS 内核调度程序。
uint32_t xf_osal_kernel_get_tick_freq(void)
获取 RTOS 内核滴答频率。
uint32_t xf_osal_kernel_ms_to_ticks(uint32_t ms)
将 ms 数转为滴答数.
enum _xf_osal_state_t xf_osal_state_t
线程状态或内核状态。
xf_osal_state_t xf_osal_kernel_get_state(void)
获取当前 RTOS 内核状态。
xf_err_t xf_osal_kernel_get_info(xf_osal_version_t *version, char *id_buf, uint32_t id_size)
获取 RTOS 内核信息。
uint32_t xf_osal_kernel_get_tick_count(void)
获取 RTOS 内核滴答计数。
#define TAG
Definition xf_main.c:24
#define XF_OSAL_CHECK(x)
Definition xf_main.c:26
api 与内核版本信息。
#define XF_LOGI(tag, format,...)