| .. _cmsis_rtos_v2: |
| |
| 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 <http://www.keil.com/pack/doc/CMSIS/RTOS2/html/index.html>`_. |
| |
| Features not supported in Zephyr implementation |
| *********************************************** |
| |
| Kernel |
| osKernelGetState, osKernelSuspend, osKernelResume, osKernelInitialize |
| and osKernelStart 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) 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. |