SuperTinyKernel™ RTOS 1.08.x
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
Loading...
Searching...
No Matches
cmsis_os2.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2013-2023 Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 *
6 * Licensed under the Apache License, Version 2.0 (the License); you may
7 * not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
14 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 * ----------------------------------------------------------------------
19 *
20 * $Date: 30. June 2023
21 * $Revision: V2.3.0
22 *
23 * Project: CMSIS-RTOS2 API
24 * Title: cmsis_os2.h header file
25 *
26 * Version 2.3.0
27 * Added provisional support for processor affinity in SMP systems:
28 - osThreadAttr_t: affinity_mask
29 * - osThreadSetAffinityMask, osThreadGetAffinityMask
30 * Version 2.2.0
31 * Added support for Process Isolation (Functional Safety):
32 * - Kernel Management: osKernelProtect, osKernelDestroyClass
33 * - Thread Management: osThreadGetClass, osThreadGetZone,
34 * osThreadSuspendClass, osThreadResumeClass
35 * osThreadTerminateZone,
36 * osThreadFeedWatchdog,
37 * osThreadProtectPrivileged
38 * - Thread attributes: osThreadZone, osThreadUnprivileged/osThreadPrivileged
39 * - Object attributes: osSafetyClass
40 * - Handler functions: osWatchdogAlarm_Handler
41 * - Zone Management: osZoneSetup_Callback
42 * - Exception Faults: osFaultResume
43 * Additional functions allowed to be called from Interrupt Service Routines:
44 * - osThreadGetName, osTimerGetName, osEventFlagsGetName, osMutexGetName,
45 * osSemaphoreGetName, osMemoryPoolGetName, osMessageQueueGetName
46 * Version 2.1.3
47 * Additional functions allowed to be called from Interrupt Service Routines:
48 * - osThreadGetId
49 * Version 2.1.2
50 * Additional functions allowed to be called from Interrupt Service Routines:
51 * - osKernelGetInfo, osKernelGetState
52 * Version 2.1.1
53 * Additional functions allowed to be called from Interrupt Service Routines:
54 * - osKernelGetTickCount, osKernelGetTickFreq
55 * Changed Kernel Tick type to uint32_t:
56 * - updated: osKernelGetTickCount, osDelayUntil
57 * Version 2.1.0
58 * Support for critical and uncritical sections (nesting safe):
59 * - updated: osKernelLock, osKernelUnlock
60 * - added: osKernelRestoreLock
61 * Updated Thread and Event Flags:
62 * - changed flags parameter and return type from int32_t to uint32_t
63 * Version 2.0.0
64 * Initial Release
65 *---------------------------------------------------------------------------*/
66
67#ifndef CMSIS_OS2_H_
68#define CMSIS_OS2_H_
69
70#ifndef __NO_RETURN
71#if defined(__CC_ARM)
72#define __NO_RETURN __declspec(noreturn)
73#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
74#define __NO_RETURN __attribute__((__noreturn__))
75#elif defined(__GNUC__)
76#define __NO_RETURN __attribute__((__noreturn__))
77#elif defined(__ICCARM__)
78#define __NO_RETURN __noreturn
79#else
80#define __NO_RETURN
81#endif
82#endif
83
84#include <stdint.h>
85#include <stddef.h>
86
139
140#ifdef __cplusplus
141extern "C"
142{
143#endif
144
145
146// ==== Enumerations, structures, defines ====
147
149typedef struct {
150 uint32_t api;
151 uint32_t kernel;
153
164
175
177typedef enum {
230 osPriorityReserved = 0x7FFFFFFF
232
234typedef void (*osThreadFunc_t) (void *argument);
235
237typedef void (*osTimerFunc_t) (void *argument);
238
244
245// Timeout value.
246#define osWaitForever 0xFFFFFFFFU
247
248// Flags options (\ref osThreadFlagsWait and \ref osEventFlagsWait).
249#define osFlagsWaitAny 0x00000000U
250#define osFlagsWaitAll 0x00000001U
251#define osFlagsNoClear 0x00000002U
252
253// Flags errors (returned by osThreadFlagsXxxx and osEventFlagsXxxx).
254#define osFlagsError 0x80000000U
255#define osFlagsErrorUnknown 0xFFFFFFFFU
256#define osFlagsErrorTimeout 0xFFFFFFFEU
257#define osFlagsErrorResource 0xFFFFFFFDU
258#define osFlagsErrorParameter 0xFFFFFFFCU
259#define osFlagsErrorISR 0xFFFFFFFAU
260#define osFlagsErrorSafetyClass 0xFFFFFFF9U
261
262// Thread attributes (attr_bits in \ref osThreadAttr_t).
263#define osThreadDetached 0x00000000U
264#define osThreadJoinable 0x00000001U
265#define osThreadUnprivileged 0x00000002U
266#define osThreadPrivileged 0x00000004U
267
268#define osThreadZone_Pos 8U
269#define osThreadZone_Msk (0x3FUL << osThreadZone_Pos)
270#define osThreadZone_Valid (0x80UL << osThreadZone_Pos)
271#define osThreadZone(n) ((((n) << osThreadZone_Pos) & osThreadZone_Msk) | \
272 osThreadZone_Valid)
273
274// Thread processor affinity (affinity_mask in \ref osThreadAttr_t).
275#define osThreadProcessor(n) (1UL << (n))
276
277// Mutex attributes (attr_bits in \ref osMutexAttr_t).
278#define osMutexRecursive 0x00000001U
279#define osMutexPrioInherit 0x00000002U
280#define osMutexRobust 0x00000008U
281
282// Object attributes (attr_bits in all objects).
283#define osSafetyClass_Pos 16U
284#define osSafetyClass_Msk (0x0FUL << osSafetyClass_Pos)
285#define osSafetyClass_Valid (0x10UL << osSafetyClass_Pos)
286#define osSafetyClass(n) ((((n) << osSafetyClass_Pos) & osSafetyClass_Msk) | \
287 osSafetyClass_Valid)
288
289// Safety mode (\ref osThreadSuspendClass, \ref osThreadResumeClass and \ref osKernelDestroyClass).
290#define osSafetyWithSameClass 0x00000001U
291#define osSafetyWithLowerClass 0x00000002U
292
293// Error indication (returned by \ref osThreadGetClass and \ref osThreadGetZone).
294#define osErrorId 0xFFFFFFFFU
295
308
309
311typedef void *osThreadId_t;
312
314typedef void *osTimerId_t;
315
317typedef void *osEventFlagsId_t;
318
320typedef void *osMutexId_t;
321
323typedef void *osSemaphoreId_t;
324
326typedef void *osMemoryPoolId_t;
327
329typedef void *osMessageQueueId_t;
330
331
332#ifndef TZ_MODULEID_T
333#define TZ_MODULEID_T
335typedef uint32_t TZ_ModuleId_t;
336#endif
337
338
340typedef struct {
341 const char *name;
342 uint32_t attr_bits;
343 void *cb_mem;
344 uint32_t cb_size;
345 void *stack_mem;
346 uint32_t stack_size;
349 uint32_t affinity_mask;
351
353typedef struct {
354 const char *name;
355 uint32_t attr_bits;
356 void *cb_mem;
357 uint32_t cb_size;
359
361typedef struct {
362 const char *name;
363 uint32_t attr_bits;
364 void *cb_mem;
365 uint32_t cb_size;
367
369typedef struct {
370 const char *name;
371 uint32_t attr_bits;
372 void *cb_mem;
373 uint32_t cb_size;
375
377typedef struct {
378 const char *name;
379 uint32_t attr_bits;
380 void *cb_mem;
381 uint32_t cb_size;
383
385typedef struct {
386 const char *name;
387 uint32_t attr_bits;
388 void *cb_mem;
389 uint32_t cb_size;
390 void *mp_mem;
391 uint32_t mp_size;
393
395typedef struct {
396 const char *name;
397 uint32_t attr_bits;
398 void *cb_mem;
399 uint32_t cb_size;
400 void *mq_mem;
401 uint32_t mq_size;
403
404
405// ==== Kernel Management Functions ====
406
410
416osStatus_t osKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t id_size);
417
421
425
428int32_t osKernelLock (void);
429
432int32_t osKernelUnlock (void);
433
437int32_t osKernelRestoreLock (int32_t lock);
438
441uint32_t osKernelSuspend (void);
442
445void osKernelResume (uint32_t sleep_ticks);
446
450osStatus_t osKernelProtect (uint32_t safety_class);
451
456osStatus_t osKernelDestroyClass (uint32_t safety_class, uint32_t mode);
457
460uint32_t osKernelGetTickCount (void);
461
464uint32_t osKernelGetTickFreq (void);
465
468uint32_t osKernelGetSysTimerCount (void);
469
472uint64_t osKernelGetSysTimerCount64(void);
473
476uint32_t osKernelGetSysTimerFreq (void);
477
478
479// ==== Thread Management Functions ====
480
486osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr);
487
491const char *osThreadGetName (osThreadId_t thread_id);
492
496uint32_t osThreadGetClass (osThreadId_t thread_id);
497
501uint32_t osThreadGetZone (osThreadId_t thread_id);
502
506
511
515uint32_t osThreadGetStackSize (osThreadId_t thread_id);
516
520uint32_t osThreadGetStackSpace (osThreadId_t thread_id);
521
527
532
536
541
546
551
556
558__NO_RETURN void osThreadExit (void);
559
564
569
573
578osStatus_t osThreadSuspendClass (uint32_t safety_class, uint32_t mode);
579
584osStatus_t osThreadResumeClass (uint32_t safety_class, uint32_t mode);
585
590
595osStatus_t osThreadSetAffinityMask (osThreadId_t thread_id, uint32_t affinity_mask);
596
601
604uint32_t osThreadGetCount (void);
605
610uint32_t osThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items);
611
612
613// ==== Thread Flags Functions ====
614
619uint32_t osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags);
620
624uint32_t osThreadFlagsClear (uint32_t flags);
625
628uint32_t osThreadFlagsGet (void);
629
635uint32_t osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout);
636
637
638// ==== Generic Wait Functions ====
639
643osStatus_t osDelay (uint32_t ticks);
644
648osStatus_t osDelayUntil (uint32_t ticks);
649
650
651// ==== Timer Management Functions ====
652
659osTimerId_t osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr);
660
664const char *osTimerGetName (osTimerId_t timer_id);
665
670osStatus_t osTimerStart (osTimerId_t timer_id, uint32_t ticks);
671
676
680uint32_t osTimerIsRunning (osTimerId_t timer_id);
681
686
687
688// ==== Event Flags Management Functions ====
689
694
698const char *osEventFlagsGetName (osEventFlagsId_t ef_id);
699
704uint32_t osEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags);
705
710uint32_t osEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags);
711
715uint32_t osEventFlagsGet (osEventFlagsId_t ef_id);
716
723uint32_t osEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout);
724
729
730
731// ==== Mutex Management Functions ====
732
737
741const char *osMutexGetName (osMutexId_t mutex_id);
742
747osStatus_t osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout);
748
753
758
763
764
765// ==== Semaphore Management Functions ====
766
772osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr);
773
777const char *osSemaphoreGetName (osSemaphoreId_t semaphore_id);
778
783osStatus_t osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout);
784
789
793uint32_t osSemaphoreGetCount (osSemaphoreId_t semaphore_id);
794
799
800
801// ==== Memory Pool Management Functions ====
802
808osMemoryPoolId_t osMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr);
809
813const char *osMemoryPoolGetName (osMemoryPoolId_t mp_id);
814
819void *osMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout);
820
825osStatus_t osMemoryPoolFree (osMemoryPoolId_t mp_id, void *block);
826
831
836
841
846
851
852
853// ==== Message Queue Management Functions ====
854
860osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr);
861
865const char *osMessageQueueGetName (osMessageQueueId_t mq_id);
866
873osStatus_t osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout);
874
881osStatus_t osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout);
882
887
892
897
902
907
912
913
914// ==== Handler Functions ====
915
920
921
922// ==== Zone Management Function ====
923
926void osZoneSetup_Callback (uint32_t zone);
927
928
929// ==== Exception Faults ====
930
932void osFaultResume (void);
933
934
935#ifdef __cplusplus
936}
937#endif
938
940
941#endif // CMSIS_OS2_H_
#define __NO_RETURN
Definition cmsis_os2.h:80
uint32_t osMemoryPoolGetSpace(osMemoryPoolId_t mp_id)
osKernelState_t
Kernel state.
Definition cmsis_os2.h:155
osStatus_t osSemaphoreRelease(osSemaphoreId_t semaphore_id)
osPriority_t osThreadGetPriority(osThreadId_t thread_id)
const char * osMutexGetName(osMutexId_t mutex_id)
uint32_t osThreadGetClass(osThreadId_t thread_id)
osStatus_t osKernelDestroyClass(uint32_t safety_class, uint32_t mode)
void * osMessageQueueId_t
Definition cmsis_os2.h:329
osMessageQueueId_t osMessageQueueNew(uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr)
void * osMutexId_t
Definition cmsis_os2.h:320
osSemaphoreId_t osSemaphoreNew(uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr)
osStatus_t osThreadTerminate(osThreadId_t thread_id)
uint32_t osEventFlagsSet(osEventFlagsId_t ef_id, uint32_t flags)
osStatus_t osDelayUntil(uint32_t ticks)
osStatus_t osThreadResume(osThreadId_t thread_id)
osStatus_t osThreadJoin(osThreadId_t thread_id)
uint32_t osThreadGetZone(osThreadId_t thread_id)
osKernelState_t osKernelGetState(void)
osThreadId_t osThreadNew(osThreadFunc_t func, void *argument, const osThreadAttr_t *attr)
uint32_t osThreadGetCount(void)
osMemoryPoolId_t osMemoryPoolNew(uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr)
uint64_t osKernelGetSysTimerCount64(void)
uint32_t osKernelGetSysTimerFreq(void)
uint32_t osEventFlagsWait(osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout)
uint32_t osThreadEnumerate(osThreadId_t *thread_array, uint32_t array_items)
const char * osEventFlagsGetName(osEventFlagsId_t ef_id)
uint32_t osWatchdogAlarm_Handler(osThreadId_t thread_id)
void * osSemaphoreId_t
Definition cmsis_os2.h:323
osStatus_t osThreadSetAffinityMask(osThreadId_t thread_id, uint32_t affinity_mask)
void * osThreadId_t
Definition cmsis_os2.h:311
uint32_t osThreadFlagsClear(uint32_t flags)
uint32_t osTimerIsRunning(osTimerId_t timer_id)
uint32_t osMessageQueueGetCount(osMessageQueueId_t mq_id)
osStatus_t
Status code values returned by CMSIS-RTOS functions.
Definition cmsis_os2.h:297
osStatus_t osKernelGetInfo(osVersion_t *version, char *id_buf, uint32_t id_size)
uint32_t osThreadFlagsSet(osThreadId_t thread_id, uint32_t flags)
uint32_t osSemaphoreGetCount(osSemaphoreId_t semaphore_id)
void osThreadExit(void)
Terminate execution of current running thread.
void(* osTimerFunc_t)(void *argument)
Timer callback function.
Definition cmsis_os2.h:237
const char * osTimerGetName(osTimerId_t timer_id)
void osZoneSetup_Callback(uint32_t zone)
uint32_t osKernelGetTickFreq(void)
osStatus_t osEventFlagsDelete(osEventFlagsId_t ef_id)
osTimerType_t
Timer type.
Definition cmsis_os2.h:240
osStatus_t osSemaphoreAcquire(osSemaphoreId_t semaphore_id, uint32_t timeout)
osThreadId_t osMutexGetOwner(osMutexId_t mutex_id)
osStatus_t osSemaphoreDelete(osSemaphoreId_t semaphore_id)
uint32_t osKernelGetTickCount(void)
uint32_t osThreadFlagsGet(void)
osStatus_t osThreadSetPriority(osThreadId_t thread_id, osPriority_t priority)
uint32_t osEventFlagsGet(osEventFlagsId_t ef_id)
osStatus_t osMemoryPoolDelete(osMemoryPoolId_t mp_id)
void osKernelResume(uint32_t sleep_ticks)
osThreadId_t osThreadGetId(void)
void * osMemoryPoolAlloc(osMemoryPoolId_t mp_id, uint32_t timeout)
void(* osThreadFunc_t)(void *argument)
Entry point of a thread.
Definition cmsis_os2.h:234
osStatus_t osThreadFeedWatchdog(uint32_t ticks)
void osFaultResume(void)
Resume normal operation when exiting exception faults.
uint32_t osEventFlagsClear(osEventFlagsId_t ef_id, uint32_t flags)
int32_t osKernelLock(void)
const char * osSemaphoreGetName(osSemaphoreId_t semaphore_id)
uint32_t osMemoryPoolGetCount(osMemoryPoolId_t mp_id)
uint32_t osMessageQueueGetMsgSize(osMessageQueueId_t mq_id)
osStatus_t osThreadTerminateZone(uint32_t zone)
osStatus_t osKernelStart(void)
uint32_t osThreadGetStackSpace(osThreadId_t thread_id)
osStatus_t osMessageQueuePut(osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)
osStatus_t osThreadSuspend(osThreadId_t thread_id)
osStatus_t osThreadDetach(osThreadId_t thread_id)
uint32_t osThreadGetAffinityMask(osThreadId_t thread_id)
osEventFlagsId_t osEventFlagsNew(const osEventFlagsAttr_t *attr)
uint32_t osMemoryPoolGetBlockSize(osMemoryPoolId_t mp_id)
const char * osMemoryPoolGetName(osMemoryPoolId_t mp_id)
osStatus_t osTimerStart(osTimerId_t timer_id, uint32_t ticks)
osMutexId_t osMutexNew(const osMutexAttr_t *attr)
uint32_t osThreadGetStackSize(osThreadId_t thread_id)
osStatus_t osMessageQueueDelete(osMessageQueueId_t mq_id)
osStatus_t osMemoryPoolFree(osMemoryPoolId_t mp_id, void *block)
osStatus_t osMutexAcquire(osMutexId_t mutex_id, uint32_t timeout)
osStatus_t osTimerStop(osTimerId_t timer_id)
void * osMemoryPoolId_t
Definition cmsis_os2.h:326
osStatus_t osMutexDelete(osMutexId_t mutex_id)
uint32_t osThreadFlagsWait(uint32_t flags, uint32_t options, uint32_t timeout)
void * osTimerId_t
Definition cmsis_os2.h:314
uint32_t osMessageQueueGetCapacity(osMessageQueueId_t mq_id)
const char * osThreadGetName(osThreadId_t thread_id)
osStatus_t osMessageQueueReset(osMessageQueueId_t mq_id)
osStatus_t osKernelProtect(uint32_t safety_class)
osThreadState_t osThreadGetState(osThreadId_t thread_id)
osStatus_t osTimerDelete(osTimerId_t timer_id)
osStatus_t osThreadYield(void)
osThreadState_t
Thread state.
Definition cmsis_os2.h:166
osPriority_t
Priority values.
Definition cmsis_os2.h:177
osTimerId_t osTimerNew(osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)
uint32_t TZ_ModuleId_t
Definition cmsis_os2.h:335
uint32_t osMemoryPoolGetCapacity(osMemoryPoolId_t mp_id)
osStatus_t osMessageQueueGet(osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)
osStatus_t osThreadSuspendClass(uint32_t safety_class, uint32_t mode)
osStatus_t osThreadResumeClass(uint32_t safety_class, uint32_t mode)
uint32_t osMessageQueueGetSpace(osMessageQueueId_t mq_id)
uint32_t osKernelGetSysTimerCount(void)
uint32_t osKernelSuspend(void)
const char * osMessageQueueGetName(osMessageQueueId_t mq_id)
int32_t osKernelRestoreLock(int32_t lock)
osStatus_t osKernelInitialize(void)
osStatus_t osMutexRelease(osMutexId_t mutex_id)
osStatus_t osThreadProtectPrivileged(void)
void * osEventFlagsId_t
Definition cmsis_os2.h:317
int32_t osKernelUnlock(void)
osStatus_t osDelay(uint32_t ticks)
@ osKernelLocked
Locked.
Definition cmsis_os2.h:159
@ osKernelError
Error.
Definition cmsis_os2.h:161
@ osKernelSuspended
Suspended.
Definition cmsis_os2.h:160
@ osKernelReady
Ready.
Definition cmsis_os2.h:157
@ osKernelRunning
Running.
Definition cmsis_os2.h:158
@ osKernelReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:162
@ osKernelInactive
Inactive.
Definition cmsis_os2.h:156
@ osErrorISR
Not allowed in ISR context: the function cannot be called from interrupt service routines.
Definition cmsis_os2.h:304
@ osStatusReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:306
@ osErrorResource
Resource not available.
Definition cmsis_os2.h:301
@ osErrorTimeout
Operation not completed within the timeout period.
Definition cmsis_os2.h:300
@ osOK
Operation completed successfully.
Definition cmsis_os2.h:298
@ osError
Unspecified RTOS error: run-time error but no other error message fits.
Definition cmsis_os2.h:299
@ osErrorParameter
Parameter error.
Definition cmsis_os2.h:302
@ osErrorNoMemory
System is out of memory: it was impossible to allocate or reserve memory for the operation.
Definition cmsis_os2.h:303
@ osErrorSafetyClass
Operation denied because of safety class violation.
Definition cmsis_os2.h:305
@ osTimerPeriodic
Repeating timer.
Definition cmsis_os2.h:242
@ osTimerOnce
One-shot timer.
Definition cmsis_os2.h:241
@ osThreadBlocked
Blocked.
Definition cmsis_os2.h:170
@ osThreadRunning
Running.
Definition cmsis_os2.h:169
@ osThreadInactive
Inactive.
Definition cmsis_os2.h:167
@ osThreadReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:173
@ osThreadTerminated
Terminated.
Definition cmsis_os2.h:171
@ osThreadError
Error.
Definition cmsis_os2.h:172
@ osThreadReady
Ready.
Definition cmsis_os2.h:168
@ osPriorityNormal7
Priority: normal + 7.
Definition cmsis_os2.h:203
@ osPriorityHigh3
Priority: high + 3.
Definition cmsis_os2.h:215
@ osPriorityBelowNormal5
Priority: below normal + 5.
Definition cmsis_os2.h:193
@ osPriorityRealtime
Priority: realtime.
Definition cmsis_os2.h:220
@ osPriorityAboveNormal
Priority: above normal.
Definition cmsis_os2.h:204
@ osPriorityHigh1
Priority: high + 1.
Definition cmsis_os2.h:213
@ osPriorityBelowNormal
Priority: below normal.
Definition cmsis_os2.h:188
@ osPriorityBelowNormal3
Priority: below normal + 3.
Definition cmsis_os2.h:191
@ osPriorityNormal2
Priority: normal + 2.
Definition cmsis_os2.h:198
@ osPriorityLow3
Priority: low + 3.
Definition cmsis_os2.h:183
@ osPriorityBelowNormal4
Priority: below normal + 4.
Definition cmsis_os2.h:192
@ osPriorityISR
Reserved for ISR deferred thread.
Definition cmsis_os2.h:228
@ osPriorityNormal1
Priority: normal + 1.
Definition cmsis_os2.h:197
@ osPriorityRealtime3
Priority: realtime + 3.
Definition cmsis_os2.h:223
@ osPriorityNormal3
Priority: normal + 3.
Definition cmsis_os2.h:199
@ osPriorityHigh2
Priority: high + 2.
Definition cmsis_os2.h:214
@ osPriorityNormal
Priority: normal.
Definition cmsis_os2.h:196
@ osPriorityBelowNormal2
Priority: below normal + 2.
Definition cmsis_os2.h:190
@ osPriorityIdle
Reserved for Idle thread.
Definition cmsis_os2.h:179
@ osPriorityHigh6
Priority: high + 6.
Definition cmsis_os2.h:218
@ osPriorityHigh5
Priority: high + 5.
Definition cmsis_os2.h:217
@ osPriorityLow4
Priority: low + 4.
Definition cmsis_os2.h:184
@ osPriorityLow7
Priority: low + 7.
Definition cmsis_os2.h:187
@ osPriorityLow
Priority: low.
Definition cmsis_os2.h:180
@ osPriorityAboveNormal6
Priority: above normal + 6.
Definition cmsis_os2.h:210
@ osPriorityHigh7
Priority: high + 7.
Definition cmsis_os2.h:219
@ osPriorityNormal5
Priority: normal + 5.
Definition cmsis_os2.h:201
@ osPriorityNone
No priority (not initialized).
Definition cmsis_os2.h:178
@ osPriorityAboveNormal4
Priority: above normal + 4.
Definition cmsis_os2.h:208
@ osPriorityLow2
Priority: low + 2.
Definition cmsis_os2.h:182
@ osPriorityRealtime6
Priority: realtime + 6.
Definition cmsis_os2.h:226
@ osPriorityNormal6
Priority: normal + 6.
Definition cmsis_os2.h:202
@ osPriorityAboveNormal2
Priority: above normal + 2.
Definition cmsis_os2.h:206
@ osPriorityBelowNormal1
Priority: below normal + 1.
Definition cmsis_os2.h:189
@ osPriorityHigh
Priority: high.
Definition cmsis_os2.h:212
@ osPriorityNormal4
Priority: normal + 4.
Definition cmsis_os2.h:200
@ osPriorityRealtime7
Priority: realtime + 7.
Definition cmsis_os2.h:227
@ osPriorityBelowNormal7
Priority: below normal + 7.
Definition cmsis_os2.h:195
@ osPriorityRealtime2
Priority: realtime + 2.
Definition cmsis_os2.h:222
@ osPriorityLow1
Priority: low + 1.
Definition cmsis_os2.h:181
@ osPriorityBelowNormal6
Priority: below normal + 6.
Definition cmsis_os2.h:194
@ osPriorityAboveNormal1
Priority: above normal + 1.
Definition cmsis_os2.h:205
@ osPriorityLow6
Priority: low + 6.
Definition cmsis_os2.h:186
@ osPriorityReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:230
@ osPriorityAboveNormal3
Priority: above normal + 3.
Definition cmsis_os2.h:207
@ osPriorityLow5
Priority: low + 5.
Definition cmsis_os2.h:185
@ osPriorityAboveNormal7
Priority: above normal + 7.
Definition cmsis_os2.h:211
@ osPriorityError
System cannot determine priority or illegal priority.
Definition cmsis_os2.h:229
@ osPriorityAboveNormal5
Priority: above normal + 5.
Definition cmsis_os2.h:209
@ osPriorityRealtime4
Priority: realtime + 4.
Definition cmsis_os2.h:224
@ osPriorityRealtime1
Priority: realtime + 1.
Definition cmsis_os2.h:221
@ osPriorityHigh4
Priority: high + 4.
Definition cmsis_os2.h:216
@ osPriorityRealtime5
Priority: realtime + 5.
Definition cmsis_os2.h:225
Version information.
Definition cmsis_os2.h:149
uint32_t api
API version (major.minor.rev: mmnnnrrrr dec).
Definition cmsis_os2.h:150
uint32_t kernel
Kernel version (major.minor.rev: mmnnnrrrr dec).
Definition cmsis_os2.h:151
Attributes structure for thread.
Definition cmsis_os2.h:340
uint32_t affinity_mask
processor affinity mask for binding the thread to a CPU in a SMP system (0 when not used)
Definition cmsis_os2.h:349
void * cb_mem
memory for control block
Definition cmsis_os2.h:343
TZ_ModuleId_t tz_module
TrustZone module identifier.
Definition cmsis_os2.h:348
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:342
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:344
void * stack_mem
memory for stack
Definition cmsis_os2.h:345
osPriority_t priority
initial thread priority (default: osPriorityNormal)
Definition cmsis_os2.h:347
uint32_t stack_size
size of stack
Definition cmsis_os2.h:346
const char * name
name of the thread
Definition cmsis_os2.h:341
Attributes structure for timer.
Definition cmsis_os2.h:353
void * cb_mem
memory for control block
Definition cmsis_os2.h:356
const char * name
name of the timer
Definition cmsis_os2.h:354
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:355
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:357
Attributes structure for event flags.
Definition cmsis_os2.h:361
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:363
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:365
const char * name
name of the event flags
Definition cmsis_os2.h:362
void * cb_mem
memory for control block
Definition cmsis_os2.h:364
Attributes structure for mutex.
Definition cmsis_os2.h:369
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:373
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:371
const char * name
name of the mutex
Definition cmsis_os2.h:370
void * cb_mem
memory for control block
Definition cmsis_os2.h:372
Attributes structure for semaphore.
Definition cmsis_os2.h:377
const char * name
name of the semaphore
Definition cmsis_os2.h:378
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:379
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:381
void * cb_mem
memory for control block
Definition cmsis_os2.h:380
Attributes structure for memory pool.
Definition cmsis_os2.h:385
uint32_t mp_size
size of provided memory for data storage
Definition cmsis_os2.h:391
const char * name
name of the memory pool
Definition cmsis_os2.h:386
void * cb_mem
memory for control block
Definition cmsis_os2.h:388
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:387
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:389
void * mp_mem
memory for data storage
Definition cmsis_os2.h:390
Attributes structure for message queue.
Definition cmsis_os2.h:395
const char * name
name of the message queue
Definition cmsis_os2.h:396
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:397
void * cb_mem
memory for control block
Definition cmsis_os2.h:398
uint32_t mq_size
size of provided memory for data storage
Definition cmsis_os2.h:401
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:399
void * mq_mem
memory for data storage
Definition cmsis_os2.h:400