CMSIS-RTOS2
Version 2.2.0
Real-Time Operating System: API and RTX Reference Implementation
|
Events generated by thread flags functions. More...
Functions | |
void | EvrRtxThreadFlagsError (osThreadId_t thread_id, int32_t status) |
Event on thread flags error (Error) More... | |
void | EvrRtxThreadFlagsSet (osThreadId_t thread_id, uint32_t flags) |
Event on thread flags set (API) More... | |
void | EvrRtxThreadFlagsSetDone (osThreadId_t thread_id, uint32_t thread_flags) |
Event on successful thread flags set (Op) More... | |
void | EvrRtxThreadFlagsClear (uint32_t flags) |
Event on thread flags clear (API) More... | |
void | EvrRtxThreadFlagsClearDone (uint32_t thread_flags) |
Event on successful thread flags clear (Op) More... | |
void | EvrRtxThreadFlagsGet (uint32_t thread_flags) |
Event on thread flags retrieve (API) More... | |
void | EvrRtxThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout) |
Event on wait for thread flags (API) More... | |
void | EvrRtxThreadFlagsWaitPending (uint32_t flags, uint32_t options, uint32_t timeout) |
Event on pending wait for thread flags (Op) More... | |
void | EvrRtxThreadFlagsWaitTimeout (osThreadId_t thread_id) |
Event on wait timeout for thread flags (Op) More... | |
void | EvrRtxThreadFlagsWaitCompleted (uint32_t flags, uint32_t options, uint32_t thread_flags, osThreadId_t thread_id) |
Event on successful wait for thread flags (Op) More... | |
void | EvrRtxThreadFlagsWaitNotCompleted (uint32_t flags, uint32_t options) |
Event on unsuccessful wait for thread flags (Op) More... | |
void EvrRtxThreadFlagsError | ( | osThreadId_t | thread_id, |
int32_t | status | ||
) |
[in] | thread_id | thread ID obtained by osThreadNew or osThreadGetId or NULL when ID is unknown. |
[in] | status | extended execution status. |
The event ThreadFlagsError is generated when Thread Flags routines complete their execution due to an error.
The status parameter indicates the execution status and can be one of the osStatus_t codes or one of the extended execution status codes which are summarized in the table below.
Extended Status Code | Description |
---|---|
osRtxErrorKernelNotReady | Kernel scheduler is not in Ready state. |
osRtxErrorKernelNotRunning | Kernel scheduler is not executing - there is no running thread. |
osRtxErrorInvalidControlBlock | Object control block with invalid alignment or size was specified. |
osRtxErrorInvalidDataMemory | Object data memory with invalid alignment or size was specified. |
osRtxErrorInvalidThreadStack | Thread stack memory with invalid alignment or size was specified. |
osRtxErrorInvalidPriority | Invalid thread priority was specified. |
osRtxErrorInvalidPrivilegedMode | Privileged thread cannot be created - kernel protect privileged is active. |
osRtxErrorThreadNotJoinable | Specified thread is not joinable. |
osRtxErrorMutexNotOwned | Specified mutex is not owned by the current running thread. |
osRtxErrorMutexNotLocked | Specified mutex is not locked. |
osRtxErrorMutexLockLimit | Maximum number of recursive mutex locks reached. |
osRtxErrorSemaphoreCountLimit | Semaphore count limit reached. |
osRtxErrorTZ_InitContext_S | Secure context memory system initialization failed. |
osRtxErrorTZ_AllocContext_S | Secure context memory allocation failed. |
osRtxErrorTZ_FreeContext_S | Secure context memory deallocation failed. |
osRtxErrorTZ_LoadContext_S | Secure context load failed. |
osRtxErrorTZ_SaveContext_S | Secure context save failed. |
Value in the Event Recorder shows:
void EvrRtxThreadFlagsSet | ( | osThreadId_t | thread_id, |
uint32_t | flags | ||
) |
[in] | thread_id | thread ID obtained by osThreadNew or osThreadGetId. |
[in] | flags | flags of the thread that shall be set. |
The event ThreadFlagsSet is generated when the function osThreadFlagsSet is called.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsSetDone | ( | osThreadId_t | thread_id, |
uint32_t | thread_flags | ||
) |
[in] | thread_id | thread ID obtained by osThreadNew or osThreadGetId. |
[in] | thread_flags | thread flags after setting. |
The event ThreadFlagsSetDone is generated when thread flags are successfully set.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsClear | ( | uint32_t | flags | ) |
[in] | flags | flags of the thread that shall be cleared. |
The event ThreadFlagsClear is generated when the function osThreadFlagsClear is called.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsClearDone | ( | uint32_t | thread_flags | ) |
[in] | thread_flags | thread flags before clearing. |
The event ThreadFlagsClearDone is generated when the function osThreadFlagsClear successfully clears thread flags.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsGet | ( | uint32_t | thread_flags | ) |
[in] | thread_flags | current thread flags. |
The event ThreadFlagsGet is generated when the function osThreadFlagsGet is called and its execution result is known.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsWait | ( | uint32_t | flags, |
uint32_t | options, | ||
uint32_t | timeout | ||
) |
[in] | flags | flags to wait for. |
[in] | options | flags options (osFlagsXxxx). |
[in] | timeout | Timeout Value or 0 in case of no time-out. |
The event ThreadFlagsWait is generated when the function osThreadFlagsWait is called.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsWaitPending | ( | uint32_t | flags, |
uint32_t | options, | ||
uint32_t | timeout | ||
) |
[in] | flags | flags to wait for. |
[in] | options | flags options (osFlagsXxxx). |
[in] | timeout | Timeout Value or 0 in case of no time-out. |
The event ThreadFlagsWaitPending is generated when the function osThreadFlagsWait starts waiting for thread flags to become signaled.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsWaitTimeout | ( | osThreadId_t | thread_id | ) |
[in] | thread_id | thread ID obtained by osThreadNew or osThreadGetId. |
The event ThreadFlagsWaitTimeout is generated when wait for thread flags to become signaled is aborted due to expired wait timeout.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsWaitCompleted | ( | uint32_t | flags, |
uint32_t | options, | ||
uint32_t | thread_flags, | ||
osThreadId_t | thread_id | ||
) |
[in] | flags | flags to wait for. |
[in] | options | flags options (osFlagsXxxx). |
[in] | thread_flags | thread flags before clearing. |
[in] | thread_id | thread ID obtained by osThreadNew or osThreadGetId. |
The event ThreadFlagsWaitCompleted is generated when waiting for thread flags ends because requested flags were signaled.
Value in the Event Recorder shows:
void EvrRtxThreadFlagsWaitNotCompleted | ( | uint32_t | flags, |
uint32_t | options | ||
) |
[in] | flags | flags to wait for. |
[in] | options | flags options (osFlagsXxxx). |
The event ThreadFlagsWaitNotCompleted is generated when the function osThreadFlagsWait returns without timeout and specified thread flags were not signaled.
Value in the Event Recorder shows: