CMSIS RTOS v2
Cortex-M Software Interface Standard (CMSIS) RTOS is a vendor-independent hardware abstraction layer for the ARM Cortex-M processor series and defines generic tool interfaces. Though it was originally defined for ARM Cortex-M microcontrollers alone, it could be easily extended to other microcontrollers making it generic. For more information on CMSIS RTOS v2, please refer to the CMSIS-RTOS2 Documentation.
Features not supported in Zephyr implementation
- Kernel
- osKernelGetState,- osKernelSuspend,- osKernelResume,- osKernelInitializeand- osKernelStartare not supported.
- Mutex
- osMutexPrioInheritis supported by default and is not configurable, you cannot select/unselect this attribute.- osMutexRecursiveis also supported by default. If this attribute is not set, an error is thrown when the same thread tries to acquire it the second time.- osMutexRobustis not supported in Zephyr.
Return values not supported in the Zephyr implementation
- osKernelUnlock,- osKernelLock,- osKernelRestoreLock
- osError(Unspecified error) is not supported.
- osSemaphoreDelete
- osErrorResource(the semaphore specified by parameter semaphore_id is in an invalid semaphore state) is not supported.
- osMutexDelete
- osErrorResource(mutex specified by parameter mutex_id is in an invalid mutex state) is not supported.
- osTimerDelete
- osErrorResource(the timer specified by parameter timer_id is in an invalid timer state) is not supported.
- osMessageQueueReset
- osErrorResource(the message queue specified by parameter msgq_id is in an invalid message queue state) is not supported.
- osMessageQueueDelete
- osErrorResource(the message queue specified by parameter msgq_id is in an invalid message queue state) is not supported.
- osMemoryPoolFree
- osErrorResource(the memory pool specified by parameter mp_id is in an invalid memory pool state) is not supported.
- osMemoryPoolDelete
- osErrorResource(the memory pool specified by parameter mp_id is in an invalid memory pool state) is not supported.
- osEventFlagsSet,- osEventFlagsClear
- osFlagsErrorUnknown(Unspecified error) and osFlagsErrorResource (Event flags object specified by parameter ef_id is not ready to be used) are not supported.
- osEventFlagsDelete
- osErrorParameter(the value of the parameter ef_id is incorrect) is not supported.
- osThreadFlagsSet
- osFlagsErrorUnknown(Unspecified error) and- osFlagsErrorResource(Thread specified by parameter thread_id is not active to receive flags) are not supported.
- osThreadFlagsClear
- osFlagsErrorResource(Running thread is not active to receive flags) is not supported.
- osDelayUntil
- osParameter(the time cannot be handled) is not supported.