CMSIS-RTOS-2 接口
- 内核信息与控制
- osKernelGetInfo :获取 RTOS 内核信息。
- osKernelGetState :获取当前 RTOS 内核状态。
- osKernelGetSysTimerCount :获取 RTOS 内核系统计时器计数。
- osKernelGetSysTimerFreq :获取 RTOS 内核系统定时器频率。
- osKernelInitialize :初始化 RTOS 内核。
- osKernelLock :锁定 RTOS 内核调度器。
- osKernelUnlock:解锁 RTOS 内核调度器。
- osKernelRestoreLock :恢复 RTOS 内核调度程序锁定状态。
- osKernelResume :恢复 RTOS 内核调度器。
- osKernelStart :启动 RTOS 内核调度器。
- osKernelSuspend :暂停 RTOS 内核调度器。
- osKernelGetTickCount :获取 RTOS 内核滴答计数。
- osKernelGetTickFreq :获取 RTOS 内核滴答频率。
- 线程管理
- osThreadDetach :分离线程(线程终止时可以回收线程存储)。
- osThreadEnumerate :枚举活动线程。
- osThreadExit :终止当前正在运行的线程的执行。
- osThreadGetCount :获取活动线程数。
- osThreadGetId :返回当前正在运行的线程的线程 ID。
- osThreadGetName :获取线程的名称。
- osThreadGetPriority :获取线程的当前优先级。
- osThreadGetStackSize :获取线程的堆栈大小。
- osThreadGetStackSpace :根据执行过程中的堆栈水印记录获取线程的可用堆栈空间。
- osThreadGetState :获取线程的当前线程状态。
- osThreadJoin :等待指定的线程终止。
- osThreadNew :创建一个线程并将其添加到活动线程。
- osThreadResume :恢复线程的执行。
- osThreadSetPriority :更改线程的优先级。
- osThreadSuspend :暂停线程的执行。
- osThreadTerminate :终止线程的执行。
- osThreadYield :将控制权传递给处于 READY 状态的下一个线程。
- 线程标志
- osThreadFlagsSet :设置线程的指定线程标志。
- osThreadFlagsClear :清除当前正在运行的线程的指定线程标志。
- osThreadFlagsGet :获取当前正在运行的线程的当前线程标志。
- osThreadFlagsWait :等待当前正在运行的线程的一个或多个线程标志发出信号。
- 事件标志
- osEventFlagsGetName :获取事件标志对象的名称。
- osEventFlagsNew :创建并初始化事件标志对象。
- osEventFlagsDelete :删除事件标志对象。
- osEventFlagsSet :设置指定的事件标志。
- osEventFlagsClear :清除指定的事件标志。
- osEventFlagsGet :获取当前事件标志。
- osEventFlagsWait :等待一个或多个事件标志发出信号。
- 通用等待函数
- osDelay :等待超时(时间延迟)。
- osDelayUntil :等待到指定时间。
- 定时器管理
- osTimerDelete :删除计时器。
- osTimerGetName :获取计时器的名称。
- osTimerIsRunning :检查计时器是否正在运行。
- osTimerNew :创建并初始化计时器。
- osTimerStart :启动或重新启动计时器。
- osTimerStop :停止计时器。
- 互斥管理
- osMutexAcquire :获取互斥锁或超时(如果它被锁定)。
- osMutexDelete :删除互斥对象。
- osMutexGetName :获取互斥对象的名称。
- osMutexGetOwner :获取拥有 Mutex 对象的线程。
- osMutexNew :创建并初始化互斥对象。
- osMutexRelease :释放被 osMutexAcquire 获取的互斥锁。
- 信号灯
- osSemaphoreAcquire :获取信号量令牌,如果没有可用的令牌,则超时。
- osSemaphoreDelete :删除信号量对象。
- osSemaphoreGetCount :获取当前信号量令牌计数。
- osSemaphoreGetName :获取信号量对象的名称。
- osSemaphoreNew :创建并初始化一个信号量对象。
- osSemaphoreRelease :释放信号量令牌,直至达到初始最大计数。
- 内存池
- osMemoryPoolAlloc :从内存池中分配内存块。
- osMemoryPoolDelete :删除内存池对象。
- osMemoryPoolFree :将分配的内存块返回到内存池。
- osMemoryPoolGetBlockSize :获取内存池中的内存块大小。
- osMemoryPoolGetCapacity :获取内存池中的最大内存块数。
- osMemoryPoolGetCount :获取内存池中使用的内存块数。
- osMemoryPoolGetName :获取内存池对象的名称。
- osMemoryPoolGetSpace :获取内存池中可用的内存块数。
- osMemoryPoolNew :创建并初始化内存池对象。
- 消息队列
- osMessageQueueDelete :删除消息队列对象。
- osMessageQueueGet :从队列中获取消息,如果队列为空,则超时。
- osMessageQueueGetCapacity :获取消息队列中的最大消息数。
- osMessageQueueGetCount :获取消息队列中排队的消息数。
- osMessageQueueGetMsgSize :获取消息队列中的最大消息大小。
- osMessageQueueGetName :获取消息队列对象的名称。
- osMessageQueueGetSpace :获取消息队列中消息的可用插槽数。
- osMessageQueueNew :创建并初始化 Message Queue 对象。
- osMessageQueuePut :将消息放入队列中,如果队列已满,则超时。
- osMessageQueueReset :将消息队列重置为初始空状态。