Skip to content

Commit b609175

Browse files
rgundicarlescufi
authored andcommitted
CMSIS RTOS V2: Introduce CMSIS RTOS V2 API header file
CMSIS RTOS API provides a generic RTOS interface for embedded processors (actually for Cortex-M processors but are generic enough to be used elsewhere). This header file is for V2 version. Signed-off-by: Rajavardhan Gundi <[email protected]>
1 parent 2ffb951 commit b609175

File tree

4 files changed

+844
-0
lines changed

4 files changed

+844
-0
lines changed

doc/porting/cmsis_rtos_v2.rst

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
.. _cmsis_rtos_v2:
2+
3+
CMSIS RTOS v2
4+
##########################
5+
6+
Cortex-M Software Interface Standard (CMSIS) RTOS is a vendor-independent
7+
hardware abstraction layer for the ARM Cortex®-M processor series and defines
8+
generic tool interfaces. Though it was originally defined for ARM Cortex-M
9+
microcontrollers alone, it could be easily extended to other microcontrollers
10+
making it generic. For more information on CMSIS RTOS v2, please refer to the
11+
`CMSIS-RTOS2 Documentation <http://www.keil.com/pack/doc/CMSIS/RTOS2/html/index.html>`_.
12+
13+
Features not supported in Zephyr implementation
14+
***********************************************
15+
16+
Kernel
17+
osKernelGetState, osKernelSuspend, osKernelResume, osKernelInitialize
18+
and osKernelStart are not supported.
19+
20+
Threads
21+
osThreadJoin and osThreadDetach are not supported.
22+
23+
Mutex
24+
osMutexPrioInherit is supported by default and is not configurable,
25+
you cannot select/unselect this attribute.
26+
osMutexRecursive is also supported by default. If this attribute is
27+
not set, an error is thrown when the same thread tries to acquire
28+
it the second time.
29+
osMutexRobust is not supported in Zephyr.
30+
31+
Return values not supported in the Zephyr implementation
32+
********************************************************
33+
34+
osKernelUnlock, osKernelLock, osKernelRestoreLock
35+
osError (Unspecified error) is not supported.
36+
37+
osSemaphoreDelete
38+
osErrorResource (the semaphore specified by parameter
39+
semaphore_id is in an invalid semaphore state) is not supported.
40+
41+
osMutexDelete
42+
osErrorResource (mutex specified by parameter mutex_id
43+
is in an invalid mutex state) is not supported.
44+
45+
osTimerDelete
46+
osErrorResource (the timer specified by parameter timer_id
47+
is in an invalid timer state) is not supported.
48+
49+
osMessageQueueReset
50+
osErrorResource (the message queue specified by
51+
parameter msgq_id is in an invalid message queue state)
52+
is not supported.
53+
54+
osMessageQueueDelete
55+
osErrorResource (the message queue specified by
56+
parameter msgq_id is in an invalid message queue state)
57+
is not supported.
58+
59+
osMemoryPoolFree
60+
osErrorResource (the memory pool specified by
61+
parameter mp_id is in an invalid memory pool state) is
62+
not supported.
63+
64+
osMemoryPoolDelete
65+
osErrorResource (the memory pool specified by
66+
parameter mp_id is in an invalid memory pool state) is
67+
not supported.
68+
69+
osEventFlagsSet, osEventFlagsClear
70+
osFlagsErrorUnknown (Unspecified error)
71+
and osFlagsErrorResource (Event flags object specified by
72+
parameter ef_id is not ready to be used) are not supported.
73+
74+
osEventFlagsDelete
75+
osErrorParameter (the value of the parameter ef_id is
76+
incorrect) is not supported.
77+
78+
osThreadFlagsSet
79+
osFlagsErrorUnknown (Unspecified error) and
80+
osFlagsErrorResource (Thread specified by parameter
81+
thread_id is not active to receive flags) are not supported.
82+
83+
osThreadFlagsClear
84+
osFlagsErrorResource (Running thread is not active to
85+
receive flags) is not supported.
86+
87+
osDelayUntil
88+
osParameter (the time cannot be handled) is not supported.

doc/porting/porting_to_zephyr.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ to port those applications to Zephyr.
1212
:maxdepth: 1
1313

1414
cmsis_rtos_v1.rst
15+
cmsis_rtos_v2.rst

doc/zephyr.doxyfile.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -807,6 +807,7 @@ RECURSIVE = YES
807807
EXCLUDE = @ZEPHYR_BASE@/include/spi_legacy.h \
808808
@ZEPHYR_BASE@/include/net/http_legacy.h \
809809
@ZEPHYR_BASE@/include/cmsis_rtos_v1/cmsis_os.h \
810+
@ZEPHYR_BASE@/include/cmsis_rtos_v2/cmsis_os2.h \
810811
@ZEPHYR_BASE@/include/net/coap.h \
811812
@ZEPHYR_BASE@/include/net/coap_link_format.h \
812813

0 commit comments

Comments
 (0)