zephyr/doc/guides/porting/cmsis_rtos_v2.rst

86 lines
2.9 KiB
ReStructuredText

.. _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.