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 | 消息队列类接口 | 删除消息队列 |