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