CMSIS RTOS API,内核通用API接口

2. CMSIS-RTOS API列表

下面列出了 CMSIS-RTOS API v1.02 版本提供的所有API。

CMSIS-RTOS 所有API使用的错误码(cmsis-os.h):

CMSIS-RTOS API一些可选项控制是否开启(cmsis-os.h):

2.1. 内核信息和控制

API 描述
osKernelInitialize 初始化RTOS内核
osKernelStart 启动RTOS内核
osKernelRunning Query if the RTOS kernel is running
osKernelSysTick (可选) Get RTOS kernel system timer counter
osKernelSysTickFrequency (可选) RTOS kernel system timer frequency in Hz
osKernelSysTickMicroSec (可选) Convert microseconds value to RTOS kernel system timer value

返回值:status code

返回值:status code

返回值:0表示RTOS未启动,1表示RTOS已经启动

返回值:RTOS内核系统当前的时间

2.2. 线程管理

连接符的作用是连接两个字符串,合为一个字符串。

CMSIS-RTOS API 存放线程参数管理的结构体如下:

CMSIS-RTOS API 定义线程的宏如下:

宏定义中的 instances 表示基于此任务参数,创建出几个任务实例,比如instances为2,则会创建出两个任务。

CMSIS-RTOS API定义的获取线程参数结构体的宏如下:

管理线程参数的API如下:

API 描述
osThreadCreate 创建线程并开始执行
osThreadTerminate 停止线程执行
osThreadYield 线程主动让出
osThreadGetID 获取当前正在运行线程的ID
osThreadSetPriority 改变线程优先级
osThreadGetPriority 获取线程优先级

其中osThreadId被定义为k_task_t指针类型:

返回值:TencentOS-tiny中的任务控制块类型指针。

返回值:osStatus

返回值:osStatus

使用时需要特别注意,在TencentOS-tiny中,调用CMSIS-RTOS API提供的优先级选项设置之后,实际设置的任务值是不同的。

CMSIS-RTOS API提供的线程优先级宏定义如下:

在TecentOS-tiny中实现的时候进行了转化:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月7日
下一篇 2020年7月7日

相关推荐