CMSIS-RTOS v2 provides multiple API interfaces:
- CMSIS-RTOS2 is the new C function API that supports dynamic object creation and ARMv8-M (ARM Cortex-M23 and Cortex-M33).
- CMSIS-RTOS C API v1 is a C function API that is backward compatible with CMSIS-RTOS v1.
- CMSIS-RTOS C++ API is a C++ class function API.
It is possible to intermix the different API variants in the same application and even in the same C/C++ source module. However, the functions of the C API Version 1 may be deprecated in future versions of CMSIS-RTOS.
CMSIS-RTOS2
Overview of all CMSIS-RTOS C API v2 functions that are implemented in the cmsis_os2.h header file.
The following CMSIS-RTOS2 functions can be called from threads and Interrupt Service Routines (ISR):
- osKernelGetSysTimerCount, osKernelGetSysTimerFreq
- osThreadFlagsSet
- osEventFlagsSet, osEventFlagsClear, osEventFlagsGet, osEventFlagsWait
- osSemaphoreAcquire, osSemaphoreRelease, osSemaphoreGetCount
- osMemoryPoolAlloc, osMemoryPoolFree, osMemoryPoolGetCapacity, osMemoryPoolGetBlockSize, osMemoryPoolGetCount, osMemoryPoolGetSpace
- osMessageQueuePut, osMessageQueueGet, osMessageQueueGetCapacity, osMessageQueueGetMsgSize, osMessageQueueGetCount, osMessageQueueGetSpace