
# CMSIS v2.0适配接口
LiteOS目前已支持大部分CMSIS v2.0接口，接口声明在compat/cmsis/2.0/cmsis_os2.h，接口说明详见下表：
| 接口名                       | 类型       | 说明                                    |
|:---|:---|:---|
| osKernelInitialize        | 内核类接口    | 初始化操作系统                               |
| osKernelGetInfo           | 内核类接口    | 获取系统版本信息                              |
| osKernelGetState          | 内核类接口    | 获取系统状态（osThreadState_t）               |
| osKernelStart             | 内核类接口    | 启动操作系统                                |
| osKernelLock              | 内核类接口    | 锁内核（锁调度）                              |
| osKernelUnlock            | 内核类接口    | 解锁内核（解锁调度）                            |
| osKernelRestoreLock       | 内核类接口    | 恢复内核锁状态                               |
| osKernelGetTickCount      | 内核类接口    | 获取系统启动后时间（单位：tick）                    |
| osKernelGetTickFreq       | 内核类接口    | 获取每秒的tick数                            |
| osKernelGetSysTimerCount  | 内核类接口    | 获取系统启动后时间（单位：cycle）                   |
| osKernelGetSysTimerFreq   | 内核类接口    | 获取每秒的CPU cycle数                       |
| osThreadNew               | 任务/线程类接口 | 创建任务                                  |
| osThreadGetName           | 任务/线程类接口 | 获取任务名                                 |
| osThreadGetId             | 任务/线程类接口 | 获取任务句柄                                |
| osThreadGetState          | 任务/线程类接口 | 获取任务状态                                |
| osThreadGetStackSize      | 任务/线程类接口 | 获取任务栈大小                               |
| osThreadGetStackSpace     | 任务/线程类接口 | 获取未使用过的任务栈空间                          |
| osThreadSetPriority       | 任务/线程类接口 | 设置任务优先级                               |
| osThreadGetPriority       | 任务/线程类接口 | 获取任务优先级                               |
| osThreadYield             | 任务/线程类接口 | 切换至同优先级的就绪任务                          |
| osThreadSuspend           | 任务/线程类接口 | 挂起任务（恢复前无法得到调度）                       |
| osThreadResume            | 任务/线程类接口 | 恢复任务                                  |
| osThreadTerminate         | 任务/线程类接口 | 终止任务（建议不要主动终止任务）                      |
| osThreadGetCount          | 任务/线程类接口 | 获取已创建的任务数量                            |
| osThreadFlagsSet          | 任务事件类接口  | 写入指定事件                                |
| osThreadFlagsClear        | 任务事件类接口  | 清除指定事件                                |
| osThreadFlagsGet          | 任务事件类接口  | 获取当前任务事件                              |
| osThreadFlagsWait         | 任务事件类接口  | 等待指定事件                                |
| osDelay                   | 延时类接口    | 任务延时（单位：tick）                         |
| osDelayUntil              | 指针消息类接口  | 延时至某一时刻（单位：tick）                      |
| osTimerNew                | 定时器类接口   | 创建定时器                                 |
| osTimerGetName            | 定时器类接口   | 获取定时器名称（目前固定返回NULL）                   |
| osTimerStart              | 定时器类接口   | 启动定时器（若定时器正在计时会先停止该定时器）               |
| osTimerStop               | 定时器类接口   | 停止定时器                                 |
| osTimerIsRunning          | 定时器类接口   | 定时器是否在计时中                             |
| osTimerDelete             | 定时器类接口   | 删除定时器                                 |
| osEventFlagsNew           | 事件类接口    | 创建事件（与任务事件ThreadFlags的差别在于有独立的句柄和控制块） |
| osEventFlagsGetName       | 事件类接口    | 获取事件名称（目前固定返回NULL）                    |
| osEventFlagsSet           | 事件类接口    | 写入指定事件                                |
| osEventFlagsClear         | 事件类接口    | 清楚指定事件                                |
| osEventFlagsGet           | 事件类接口    | 获取当前事件值                               |
| osEventFlagsWait          | 事件类接口    | 等待指定事件                                |
| osEventFlagsDelete        | 事件类接口    | 删除事件                                  |
| osMutexNew                | 互斥锁类接口   | 创建互斥锁                                 |
| osMutexGetName            | 互斥锁类接口   | 获取互斥锁名称（目前固定返回NULL）                   |
| osMutexAcquire            | 互斥锁类接口   | 获取互斥锁（阻塞等待）                           |
| osMutexRelease            | 互斥锁类接口   | 释放互斥锁                                 |
| osMutexGetOwner           | 互斥锁类接口   | 获取持有该互斥锁的任务句柄                         |
| osMutexDelete             | 互斥锁类接口   | 删除互斥锁                                 |
| osSemaphoreNew            | 信号量类接口   | 创建信号量                                 |
| osSemaphoreGetName        | 信号量类接口   | 获取信号量名称（目前固定返回NULL）                   |
| osSemaphoreAcquire        | 信号量类接口   | 获取信号量（阻塞等待）                           |
| osSemaphoreRelease        | 信号量类接口   | 释放信号量                                 |
| osSemaphoreGetCount       | 信号量类接口   | 获取信号量的计数值                             |
| osSemaphoreDelete         | 信号量类接口   | 删除信号量                                 |
| osMessageQueueNew         | 消息队列类接口  | 创建消息队列                                |
| osMessageQueueGetName     | 消息队列类接口  | 获取消息队列名称（目前固定返回NULL）                  |
| osMessageQueuePut         | 消息队列类接口  | 往消息队列里放入消息                            |
| osMessageQueueGet         | 消息队列类接口  | 从消息队列里获取消息                            |
| osMessageQueueGetCapacity | 消息队列类接口  | 获取消息队列节点数量                            |
| osMessageQueueGetMsgSize  | 消息队列类接口  | 获取消息队列节点大小                            |
| osMessageQueueGetCount    | 消息队列类接口  | 获取当前消息队列里的消息数量                        |
| osMessageQueueGetSpace    | 消息队列类接口  | 获取当前消息队列里的剩余消息数量                      |
| osMessageQueueDelete      | 消息队列类接口  | 删除消息队列                                |
   
