89 lines
3.0 KiB
ReStructuredText
89 lines
3.0 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.
|
|
|
|
Threads
|
|
osThreadJoin and osThreadDetach 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.
|