XFusion API v1.3.0
载入中...
搜索中...
未找到
kernel

调度器内核控制。 更多...

kernel 的协作图:

结构体

struct  _xf_osal_version_t
 api 与内核版本信息。 更多...
 

类型定义

typedef struct _xf_osal_version_t xf_osal_version_t
 api 与内核版本信息。
 
typedef enum _xf_osal_state_t xf_osal_state_t
 线程状态或内核状态。
 

枚举

enum  _xf_osal_state_t {
  XF_OSAL_INACTIVE = 0 , XF_OSAL_READY = 1 , XF_OSAL_RUNNING = 2 , XF_OSAL_BLOCKED = 3 ,
  XF_OSAL_TERMINATED = 4 , XF_OSAL_ERROR = -1 , XF_OSAL_RESERVED = 0x7FFFFFFF
}
 线程状态或内核状态。 更多...
 

函数

xf_err_t xf_osal_kernel_get_info (xf_osal_version_t *version, char *id_buf, uint32_t id_size)
 获取 RTOS 内核信息。
 
xf_osal_state_t xf_osal_kernel_get_state (void)
 获取当前 RTOS 内核状态。
 
xf_err_t xf_osal_kernel_lock (void)
 锁定 RTOS 内核调度程序。
 
xf_err_t xf_osal_kernel_unlock (void)
 解锁 RTOS 内核调度程序。
 
uint32_t xf_osal_kernel_get_tick_count (void)
 获取 RTOS 内核滴答计数。
 
uint32_t xf_osal_kernel_get_tick_freq (void)
 获取 RTOS 内核滴答频率。
 
uint32_t xf_osal_kernel_ticks_to_ms (uint32_t ticks)
 将滴答数转为 ms.
 
uint32_t xf_osal_kernel_ms_to_ticks (uint32_t ms)
 将 ms 数转为滴答数.
 

详细描述

调度器内核控制。

类型定义说明

◆ xf_osal_version_t

api 与内核版本信息。

◆ xf_osal_state_t

线程状态或内核状态。

枚举类型说明

◆ _xf_osal_state_t

线程状态或内核状态。

枚举值
XF_OSAL_INACTIVE 

不活动.

XF_OSAL_READY 

就绪.

XF_OSAL_RUNNING 

运行.

XF_OSAL_BLOCKED 

线程阻塞或内核锁定.

XF_OSAL_TERMINATED 

线程终止或内核终止.

XF_OSAL_ERROR 

错误.

XF_OSAL_RESERVED 

防止枚举缩小编译器优化.

在文件 xf_osal_kernel.h49 行定义.

函数说明

◆ xf_osal_kernel_get_info()

xf_err_t xf_osal_kernel_get_info ( xf_osal_version_t version,
char *  id_buf,
uint32_t  id_size 
)

获取 RTOS 内核信息。

注解
可以 在中断服务函数中调用。
参数
version指向用于检索版本信息的缓冲区的指针。
id_buf指向用于检索内核标识字符串的缓冲区的指针。
id_size内核标识字符串缓冲区的大小。
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 通用错误
示例
examples/osal/kernel/main/xf_main.c.

◆ xf_osal_kernel_get_state()

xf_osal_state_t xf_osal_kernel_get_state ( void  )

获取当前 RTOS 内核状态。

注解
可以 在中断服务函数中调用。
返回
xf_osal_state_t 当前 RTOS 内核状态,见 xf_osal_state_t.
示例
examples/osal/kernel/main/xf_main.c.

◆ xf_osal_kernel_lock()

xf_err_t xf_osal_kernel_lock ( void  )

锁定 RTOS 内核调度程序。

注解
禁止 在中断服务函数中调用。
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 通用错误
  • XF_ERR_ISR 禁止在中断服务函数中调用
示例
examples/osal/kernel/main/xf_main.c , 以及 examples/osal/thread/main/xf_main.c.

◆ xf_osal_kernel_unlock()

xf_err_t xf_osal_kernel_unlock ( void  )

解锁 RTOS 内核调度程序。

注解
禁止 在中断服务函数中调用。
返回
xf_err_t
  • XF_OK 成功
  • XF_FAIL 通用错误
  • XF_ERR_ISR 禁止在中断服务函数中调用
示例
examples/osal/kernel/main/xf_main.c , 以及 examples/osal/thread/main/xf_main.c.

◆ xf_osal_kernel_get_tick_count()

uint32_t xf_osal_kernel_get_tick_count ( void  )

获取 RTOS 内核滴答计数。

注解
可以 在中断服务函数中调用。
返回
uint32_t RTOS 内核当前滴答计数。
示例
examples/osal/kernel/main/xf_main.c , 以及 examples/osal/thread/main/xf_main.c.

◆ xf_osal_kernel_get_tick_freq()

uint32_t xf_osal_kernel_get_tick_freq ( void  )

获取 RTOS 内核滴答频率。

注解
可以 在中断服务函数中调用。
返回
uint32_t 内核滴答频率(以赫兹为单位),即每秒内核滴答数。
示例
examples/osal/kernel/main/xf_main.c.

◆ xf_osal_kernel_ticks_to_ms()

uint32_t xf_osal_kernel_ticks_to_ms ( uint32_t  ticks)

将滴答数转为 ms.

注解
可以 在中断服务函数中调用。
参数
ticks要转换的滴答数。
返回
uint32_t 滴答计数对应的 ms 数。
示例
examples/osal/kernel/main/xf_main.c.

◆ xf_osal_kernel_ms_to_ticks()

uint32_t xf_osal_kernel_ms_to_ticks ( uint32_t  ms)

将 ms 数转为滴答数.

注解
可以 在中断服务函数中调用。
参数
ms要转换的 ms 数。
返回
uint32_t ms 数对应的滴答数。
示例
examples/osal/kernel/main/xf_main.c , 以及 examples/osal/thread/main/xf_main.c.