SuperTinyKernel™ RTOS 1.05.3
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
94
95#ifdef __cplusplus
96extern "C"
97{
98#endif
99
100
101// ==== Enumerations, structures, defines ====
102
104typedef struct {
105 uint32_t api;
106 uint32_t kernel;
108
119
130
132typedef enum {
185 osPriorityReserved = 0x7FFFFFFF
187
189typedef void (*osThreadFunc_t) (void *argument);
190
192typedef void (*osTimerFunc_t) (void *argument);
193
199
200// Timeout value.
201#define osWaitForever 0xFFFFFFFFU
202
203// Flags options (\ref osThreadFlagsWait and \ref osEventFlagsWait).
204#define osFlagsWaitAny 0x00000000U
205#define osFlagsWaitAll 0x00000001U
206#define osFlagsNoClear 0x00000002U
207
208// Flags errors (returned by osThreadFlagsXxxx and osEventFlagsXxxx).
209#define osFlagsError 0x80000000U
210#define osFlagsErrorUnknown 0xFFFFFFFFU
211#define osFlagsErrorTimeout 0xFFFFFFFEU
212#define osFlagsErrorResource 0xFFFFFFFDU
213#define osFlagsErrorParameter 0xFFFFFFFCU
214#define osFlagsErrorISR 0xFFFFFFFAU
215#define osFlagsErrorSafetyClass 0xFFFFFFF9U
216
217// Thread attributes (attr_bits in \ref osThreadAttr_t).
218#define osThreadDetached 0x00000000U
219#define osThreadJoinable 0x00000001U
220#define osThreadUnprivileged 0x00000002U
221#define osThreadPrivileged 0x00000004U
222
223#define osThreadZone_Pos 8U
224#define osThreadZone_Msk (0x3FUL << osThreadZone_Pos)
225#define osThreadZone_Valid (0x80UL << osThreadZone_Pos)
226#define osThreadZone(n) ((((n) << osThreadZone_Pos) & osThreadZone_Msk) | \
227 osThreadZone_Valid)
228
229// Thread processor affinity (affinity_mask in \ref osThreadAttr_t).
230#define osThreadProcessor(n) (1UL << (n))
231
232// Mutex attributes (attr_bits in \ref osMutexAttr_t).
233#define osMutexRecursive 0x00000001U
234#define osMutexPrioInherit 0x00000002U
235#define osMutexRobust 0x00000008U
236
237// Object attributes (attr_bits in all objects).
238#define osSafetyClass_Pos 16U
239#define osSafetyClass_Msk (0x0FUL << osSafetyClass_Pos)
240#define osSafetyClass_Valid (0x10UL << osSafetyClass_Pos)
241#define osSafetyClass(n) ((((n) << osSafetyClass_Pos) & osSafetyClass_Msk) | \
242 osSafetyClass_Valid)
243
244// Safety mode (\ref osThreadSuspendClass, \ref osThreadResumeClass and \ref osKernelDestroyClass).
245#define osSafetyWithSameClass 0x00000001U
246#define osSafetyWithLowerClass 0x00000002U
247
248// Error indication (returned by \ref osThreadGetClass and \ref osThreadGetZone).
249#define osErrorId 0xFFFFFFFFU
250
263
264
266typedef void *osThreadId_t;
267
269typedef void *osTimerId_t;
270
272typedef void *osEventFlagsId_t;
273
275typedef void *osMutexId_t;
276
278typedef void *osSemaphoreId_t;
279
281typedef void *osMemoryPoolId_t;
282
284typedef void *osMessageQueueId_t;
285
286
287#ifndef TZ_MODULEID_T
288#define TZ_MODULEID_T
290typedef uint32_t TZ_ModuleId_t;
291#endif
292
293
295typedef struct {
296 const char *name;
297 uint32_t attr_bits;
298 void *cb_mem;
299 uint32_t cb_size;
300 void *stack_mem;
301 uint32_t stack_size;
304 uint32_t affinity_mask;
306
308typedef struct {
309 const char *name;
310 uint32_t attr_bits;
311 void *cb_mem;
312 uint32_t cb_size;
314
316typedef struct {
317 const char *name;
318 uint32_t attr_bits;
319 void *cb_mem;
320 uint32_t cb_size;
322
324typedef struct {
325 const char *name;
326 uint32_t attr_bits;
327 void *cb_mem;
328 uint32_t cb_size;
330
332typedef struct {
333 const char *name;
334 uint32_t attr_bits;
335 void *cb_mem;
336 uint32_t cb_size;
338
340typedef struct {
341 const char *name;
342 uint32_t attr_bits;
343 void *cb_mem;
344 uint32_t cb_size;
345 void *mp_mem;
346 uint32_t mp_size;
348
350typedef struct {
351 const char *name;
352 uint32_t attr_bits;
353 void *cb_mem;
354 uint32_t cb_size;
355 void *mq_mem;
356 uint32_t mq_size;
358
359
360// ==== Kernel Management Functions ====
361
365
371osStatus_t osKernelGetInfo (osVersion_t *version, char *id_buf, uint32_t id_size);
372
376
380
383int32_t osKernelLock (void);
384
387int32_t osKernelUnlock (void);
388
392int32_t osKernelRestoreLock (int32_t lock);
393
396uint32_t osKernelSuspend (void);
397
400void osKernelResume (uint32_t sleep_ticks);
401
405osStatus_t osKernelProtect (uint32_t safety_class);
406
411osStatus_t osKernelDestroyClass (uint32_t safety_class, uint32_t mode);
412
415uint32_t osKernelGetTickCount (void);
416
419uint32_t osKernelGetTickFreq (void);
420
423uint32_t osKernelGetSysTimerCount (void);
424
427uint64_t osKernelGetSysTimerCount64(void);
428
431uint32_t osKernelGetSysTimerFreq (void);
432
433
434// ==== Thread Management Functions ====
435
441osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr);
442
446const char *osThreadGetName (osThreadId_t thread_id);
447
451uint32_t osThreadGetClass (osThreadId_t thread_id);
452
456uint32_t osThreadGetZone (osThreadId_t thread_id);
457
461
466
470uint32_t osThreadGetStackSize (osThreadId_t thread_id);
471
475uint32_t osThreadGetStackSpace (osThreadId_t thread_id);
476
482
487
491
496
501
506
511
513__NO_RETURN void osThreadExit (void);
514
519
524
528
533osStatus_t osThreadSuspendClass (uint32_t safety_class, uint32_t mode);
534
539osStatus_t osThreadResumeClass (uint32_t safety_class, uint32_t mode);
540
545
550osStatus_t osThreadSetAffinityMask (osThreadId_t thread_id, uint32_t affinity_mask);
551
556
559uint32_t osThreadGetCount (void);
560
565uint32_t osThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items);
566
567
568// ==== Thread Flags Functions ====
569
574uint32_t osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags);
575
579uint32_t osThreadFlagsClear (uint32_t flags);
580
583uint32_t osThreadFlagsGet (void);
584
590uint32_t osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout);
591
592
593// ==== Generic Wait Functions ====
594
598osStatus_t osDelay (uint32_t ticks);
599
603osStatus_t osDelayUntil (uint32_t ticks);
604
605
606// ==== Timer Management Functions ====
607
614osTimerId_t osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr);
615
619const char *osTimerGetName (osTimerId_t timer_id);
620
625osStatus_t osTimerStart (osTimerId_t timer_id, uint32_t ticks);
626
631
635uint32_t osTimerIsRunning (osTimerId_t timer_id);
636
641
642
643// ==== Event Flags Management Functions ====
644
649
653const char *osEventFlagsGetName (osEventFlagsId_t ef_id);
654
659uint32_t osEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags);
660
665uint32_t osEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags);
666
670uint32_t osEventFlagsGet (osEventFlagsId_t ef_id);
671
678uint32_t osEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout);
679
684
685
686// ==== Mutex Management Functions ====
687
692
696const char *osMutexGetName (osMutexId_t mutex_id);
697
702osStatus_t osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout);
703
708
713
718
719
720// ==== Semaphore Management Functions ====
721
727osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr);
728
732const char *osSemaphoreGetName (osSemaphoreId_t semaphore_id);
733
738osStatus_t osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout);
739
744
748uint32_t osSemaphoreGetCount (osSemaphoreId_t semaphore_id);
749
754
755
756// ==== Memory Pool Management Functions ====
757
763osMemoryPoolId_t osMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr);
764
768const char *osMemoryPoolGetName (osMemoryPoolId_t mp_id);
769
774void *osMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout);
775
780osStatus_t osMemoryPoolFree (osMemoryPoolId_t mp_id, void *block);
781
786
791
796
801
806
807
808// ==== Message Queue Management Functions ====
809
815osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr);
816
820const char *osMessageQueueGetName (osMessageQueueId_t mq_id);
821
828osStatus_t osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout);
829
836osStatus_t osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout);
837
842
847
852
857
862
867
868
869// ==== Handler Functions ====
870
875
876
877// ==== Zone Management Function ====
878
881void osZoneSetup_Callback (uint32_t zone);
882
883
884// ==== Exception Faults ====
885
887void osFaultResume (void);
888
889
890#ifdef __cplusplus
891}
892#endif
893
895
896#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:110
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:284
osMessageQueueId_t osMessageQueueNew(uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr)
void * osMutexId_t
Definition cmsis_os2.h:275
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:278
osStatus_t osThreadSetAffinityMask(osThreadId_t thread_id, uint32_t affinity_mask)
void * osThreadId_t
Definition cmsis_os2.h:266
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:252
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:192
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:195
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:189
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:281
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:269
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:121
osPriority_t
Priority values.
Definition cmsis_os2.h:132
osTimerId_t osTimerNew(osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)
uint32_t TZ_ModuleId_t
Definition cmsis_os2.h:290
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:272
int32_t osKernelUnlock(void)
osStatus_t osDelay(uint32_t ticks)
@ osKernelLocked
Locked.
Definition cmsis_os2.h:114
@ osKernelError
Error.
Definition cmsis_os2.h:116
@ osKernelSuspended
Suspended.
Definition cmsis_os2.h:115
@ osKernelReady
Ready.
Definition cmsis_os2.h:112
@ osKernelRunning
Running.
Definition cmsis_os2.h:113
@ osKernelReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:117
@ osKernelInactive
Inactive.
Definition cmsis_os2.h:111
@ osErrorISR
Not allowed in ISR context: the function cannot be called from interrupt service routines.
Definition cmsis_os2.h:259
@ osStatusReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:261
@ osErrorResource
Resource not available.
Definition cmsis_os2.h:256
@ osErrorTimeout
Operation not completed within the timeout period.
Definition cmsis_os2.h:255
@ osOK
Operation completed successfully.
Definition cmsis_os2.h:253
@ osError
Unspecified RTOS error: run-time error but no other error message fits.
Definition cmsis_os2.h:254
@ osErrorParameter
Parameter error.
Definition cmsis_os2.h:257
@ osErrorNoMemory
System is out of memory: it was impossible to allocate or reserve memory for the operation.
Definition cmsis_os2.h:258
@ osErrorSafetyClass
Operation denied because of safety class violation.
Definition cmsis_os2.h:260
@ osTimerPeriodic
Repeating timer.
Definition cmsis_os2.h:197
@ osTimerOnce
One-shot timer.
Definition cmsis_os2.h:196
@ osThreadBlocked
Blocked.
Definition cmsis_os2.h:125
@ osThreadRunning
Running.
Definition cmsis_os2.h:124
@ osThreadInactive
Inactive.
Definition cmsis_os2.h:122
@ osThreadReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:128
@ osThreadTerminated
Terminated.
Definition cmsis_os2.h:126
@ osThreadError
Error.
Definition cmsis_os2.h:127
@ osThreadReady
Ready.
Definition cmsis_os2.h:123
@ osPriorityNormal7
Priority: normal + 7.
Definition cmsis_os2.h:158
@ osPriorityHigh3
Priority: high + 3.
Definition cmsis_os2.h:170
@ osPriorityBelowNormal5
Priority: below normal + 5.
Definition cmsis_os2.h:148
@ osPriorityRealtime
Priority: realtime.
Definition cmsis_os2.h:175
@ osPriorityAboveNormal
Priority: above normal.
Definition cmsis_os2.h:159
@ osPriorityHigh1
Priority: high + 1.
Definition cmsis_os2.h:168
@ osPriorityBelowNormal
Priority: below normal.
Definition cmsis_os2.h:143
@ osPriorityBelowNormal3
Priority: below normal + 3.
Definition cmsis_os2.h:146
@ osPriorityNormal2
Priority: normal + 2.
Definition cmsis_os2.h:153
@ osPriorityLow3
Priority: low + 3.
Definition cmsis_os2.h:138
@ osPriorityBelowNormal4
Priority: below normal + 4.
Definition cmsis_os2.h:147
@ osPriorityISR
Reserved for ISR deferred thread.
Definition cmsis_os2.h:183
@ osPriorityNormal1
Priority: normal + 1.
Definition cmsis_os2.h:152
@ osPriorityRealtime3
Priority: realtime + 3.
Definition cmsis_os2.h:178
@ osPriorityNormal3
Priority: normal + 3.
Definition cmsis_os2.h:154
@ osPriorityHigh2
Priority: high + 2.
Definition cmsis_os2.h:169
@ osPriorityNormal
Priority: normal.
Definition cmsis_os2.h:151
@ osPriorityBelowNormal2
Priority: below normal + 2.
Definition cmsis_os2.h:145
@ osPriorityIdle
Reserved for Idle thread.
Definition cmsis_os2.h:134
@ osPriorityHigh6
Priority: high + 6.
Definition cmsis_os2.h:173
@ osPriorityHigh5
Priority: high + 5.
Definition cmsis_os2.h:172
@ osPriorityLow4
Priority: low + 4.
Definition cmsis_os2.h:139
@ osPriorityLow7
Priority: low + 7.
Definition cmsis_os2.h:142
@ osPriorityLow
Priority: low.
Definition cmsis_os2.h:135
@ osPriorityAboveNormal6
Priority: above normal + 6.
Definition cmsis_os2.h:165
@ osPriorityHigh7
Priority: high + 7.
Definition cmsis_os2.h:174
@ osPriorityNormal5
Priority: normal + 5.
Definition cmsis_os2.h:156
@ osPriorityNone
No priority (not initialized).
Definition cmsis_os2.h:133
@ osPriorityAboveNormal4
Priority: above normal + 4.
Definition cmsis_os2.h:163
@ osPriorityLow2
Priority: low + 2.
Definition cmsis_os2.h:137
@ osPriorityRealtime6
Priority: realtime + 6.
Definition cmsis_os2.h:181
@ osPriorityNormal6
Priority: normal + 6.
Definition cmsis_os2.h:157
@ osPriorityAboveNormal2
Priority: above normal + 2.
Definition cmsis_os2.h:161
@ osPriorityBelowNormal1
Priority: below normal + 1.
Definition cmsis_os2.h:144
@ osPriorityHigh
Priority: high.
Definition cmsis_os2.h:167
@ osPriorityNormal4
Priority: normal + 4.
Definition cmsis_os2.h:155
@ osPriorityRealtime7
Priority: realtime + 7.
Definition cmsis_os2.h:182
@ osPriorityBelowNormal7
Priority: below normal + 7.
Definition cmsis_os2.h:150
@ osPriorityRealtime2
Priority: realtime + 2.
Definition cmsis_os2.h:177
@ osPriorityLow1
Priority: low + 1.
Definition cmsis_os2.h:136
@ osPriorityBelowNormal6
Priority: below normal + 6.
Definition cmsis_os2.h:149
@ osPriorityAboveNormal1
Priority: above normal + 1.
Definition cmsis_os2.h:160
@ osPriorityLow6
Priority: low + 6.
Definition cmsis_os2.h:141
@ osPriorityReserved
Prevents enum down-size compiler optimization.
Definition cmsis_os2.h:185
@ osPriorityAboveNormal3
Priority: above normal + 3.
Definition cmsis_os2.h:162
@ osPriorityLow5
Priority: low + 5.
Definition cmsis_os2.h:140
@ osPriorityAboveNormal7
Priority: above normal + 7.
Definition cmsis_os2.h:166
@ osPriorityError
System cannot determine priority or illegal priority.
Definition cmsis_os2.h:184
@ osPriorityAboveNormal5
Priority: above normal + 5.
Definition cmsis_os2.h:164
@ osPriorityRealtime4
Priority: realtime + 4.
Definition cmsis_os2.h:179
@ osPriorityRealtime1
Priority: realtime + 1.
Definition cmsis_os2.h:176
@ osPriorityHigh4
Priority: high + 4.
Definition cmsis_os2.h:171
@ osPriorityRealtime5
Priority: realtime + 5.
Definition cmsis_os2.h:180
Version information.
Definition cmsis_os2.h:104
uint32_t api
API version (major.minor.rev: mmnnnrrrr dec).
Definition cmsis_os2.h:105
uint32_t kernel
Kernel version (major.minor.rev: mmnnnrrrr dec).
Definition cmsis_os2.h:106
Attributes structure for thread.
Definition cmsis_os2.h:295
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:304
void * cb_mem
memory for control block
Definition cmsis_os2.h:298
TZ_ModuleId_t tz_module
TrustZone module identifier.
Definition cmsis_os2.h:303
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:297
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:299
void * stack_mem
memory for stack
Definition cmsis_os2.h:300
osPriority_t priority
initial thread priority (default: osPriorityNormal)
Definition cmsis_os2.h:302
uint32_t stack_size
size of stack
Definition cmsis_os2.h:301
const char * name
name of the thread
Definition cmsis_os2.h:296
Attributes structure for timer.
Definition cmsis_os2.h:308
void * cb_mem
memory for control block
Definition cmsis_os2.h:311
const char * name
name of the timer
Definition cmsis_os2.h:309
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:310
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:312
Attributes structure for event flags.
Definition cmsis_os2.h:316
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:318
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:320
const char * name
name of the event flags
Definition cmsis_os2.h:317
void * cb_mem
memory for control block
Definition cmsis_os2.h:319
Attributes structure for mutex.
Definition cmsis_os2.h:324
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:328
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:326
const char * name
name of the mutex
Definition cmsis_os2.h:325
void * cb_mem
memory for control block
Definition cmsis_os2.h:327
Attributes structure for semaphore.
Definition cmsis_os2.h:332
const char * name
name of the semaphore
Definition cmsis_os2.h:333
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:334
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:336
void * cb_mem
memory for control block
Definition cmsis_os2.h:335
Attributes structure for memory pool.
Definition cmsis_os2.h:340
uint32_t mp_size
size of provided memory for data storage
Definition cmsis_os2.h:346
const char * name
name of the memory pool
Definition cmsis_os2.h:341
void * cb_mem
memory for control block
Definition cmsis_os2.h:343
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 * mp_mem
memory for data storage
Definition cmsis_os2.h:345
Attributes structure for message queue.
Definition cmsis_os2.h:350
const char * name
name of the message queue
Definition cmsis_os2.h:351
uint32_t attr_bits
attribute bits
Definition cmsis_os2.h:352
void * cb_mem
memory for control block
Definition cmsis_os2.h:353
uint32_t mq_size
size of provided memory for data storage
Definition cmsis_os2.h:356
uint32_t cb_size
size of provided memory for control block
Definition cmsis_os2.h:354
void * mq_mem
memory for data storage
Definition cmsis_os2.h:355