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
,osKernelInitialize
andosKernelStart
are not supported.- Mutex
osMutexPrioInherit
is supported by default and is not configurable, you cannot select/unselect this attribute.osMutexRecursive
is 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.osMutexRobust
is 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) andosFlagsErrorResource
(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.