![]() |
CMSIS-RTOS2
Version 2.1.1
Real-Time Operating System: API and RTX Reference Implementation
|
Events generated by mutex functions. More...
Functions | |
| void | EvrRtxMutexError (osMutexId_t mutex_id, int32_t status) |
| Event on mutex error (Error) More... | |
| void | EvrRtxMutexNew (const osMutexAttr_t *attr) |
| Event on mutex create and initialize (API) More... | |
| void | EvrRtxMutexCreated (osMutexId_t mutex_id) |
| Event on successful mutex create (Op) More... | |
| void | EvrRtxMutexGetName (osMutexId_t mutex_id, const char *name) |
| Event on mutex name retrieve (API) More... | |
| void | EvrRtxMutexAcquire (osMutexId_t mutex_id, uint32_t timeout) |
| Event on mutex acquire (API) More... | |
| void | EvrRtxMutexAcquirePending (osMutexId_t mutex_id, uint32_t timeout) |
| Event on pending mutex acquire (Op) More... | |
| void | EvrRtxMutexAcquireTimeout (osMutexId_t mutex_id) |
| Event on mutex acquire timeout (Op) More... | |
| void | EvrRtxMutexAcquired (osMutexId_t mutex_id, uint32_t lock) |
| Event on successful mutex acquire (Op) More... | |
| void | EvrRtxMutexNotAcquired (osMutexId_t mutex_id) |
| Event on unsuccessful mutex acquire (Op) More... | |
| void | EvrRtxMutexRelease (osMutexId_t mutex_id) |
| Event on mutex release (API) More... | |
| void | EvrRtxMutexReleased (osMutexId_t mutex_id, uint32_t lock) |
| Event on successful mutex release (Op) More... | |
| void | EvrRtxMutexGetOwner (osMutexId_t mutex_id, osThreadId_t thread_id) |
| Event on mutex owner retrieve (API) More... | |
| void | EvrRtxMutexDelete (osMutexId_t mutex_id) |
| Event on mutex delete (API) More... | |
| void | EvrRtxMutexDestroyed (osMutexId_t mutex_id) |
| Event on successful mutex delete (Op) More... | |
| void EvrRtxMutexError | ( | osMutexId_t | mutex_id, |
| int32_t | status | ||
| ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew or NULL when ID is unknown. |
| [in] | status | extended execution status. |
The event MutexError is generated when Mutex Management 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. |
| 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 EvrRtxMutexNew | ( | const osMutexAttr_t * | attr | ) |
| [in] | attr | mutex attributes |
The event MutexNew is generated when the function osMutexNew is called.
Value in the Event Recorder shows:
In case when mutex attributes are provided in the API call they are also detailed in the Event Recorder.
| void EvrRtxMutexCreated | ( | osMutexId_t | mutex_id | ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
The event MutexCreated is generated when the function osMutexNew successfully creates a mutex object.
Value in the Event Recorder shows:
| void EvrRtxMutexGetName | ( | osMutexId_t | mutex_id, |
| const char * | name | ||
| ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
| [in] | name | pointer to mutex object name |
The event MutexGetName is generated when the function osMutexGetName is called and its execution result is known.
Value in the Event Recorder shows:
| void EvrRtxMutexAcquire | ( | osMutexId_t | mutex_id, |
| uint32_t | timeout | ||
| ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
| [in] | timeout | Timeout Value or 0 in case of no time-out. |
The event MutexAcquire is generated when the function osMutexAcquire is called.
Value in the Event Recorder shows:
| void EvrRtxMutexAcquirePending | ( | osMutexId_t | mutex_id, |
| uint32_t | timeout | ||
| ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
| [in] | timeout | Timeout Value or 0 in case of no time-out. |
The event MutexAcquirePending is generated when the function osMutexAcquire blocks current running thread and waits for mutex to become available.
Value in the Event Recorder shows:
| void EvrRtxMutexAcquireTimeout | ( | osMutexId_t | mutex_id | ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
The event MutexAcquireTimeout is generated when wait for mutex to become available is aborted due to expired wait timeout.
Value in the Event Recorder shows:
| void EvrRtxMutexAcquired | ( | osMutexId_t | mutex_id, |
| uint32_t | lock | ||
| ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
| [in] | lock | current number of times mutex object is locked |
The event MutexAcquired is generated when the function osMutexAcquire successfully acquires a mutex.
Value in the Event Recorder shows:
| void EvrRtxMutexNotAcquired | ( | osMutexId_t | mutex_id | ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
The event MutexNotAcquired is generated when the function osMutexAcquire returns without timeout and mutex was not acquired.
Value in the Event Recorder shows:
| void EvrRtxMutexRelease | ( | osMutexId_t | mutex_id | ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
The event MutexRelease is generated when the function osMutexRelease is called.
Value in the Event Recorder shows:
| void EvrRtxMutexReleased | ( | osMutexId_t | mutex_id, |
| uint32_t | lock | ||
| ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
| [in] | lock | current number of times mutex object is locked |
The event MutexReleased is generated when the function osMutexRelease successfully releases a mutex.
Value in the Event Recorder shows:
| void EvrRtxMutexGetOwner | ( | osMutexId_t | mutex_id, |
| osThreadId_t | thread_id | ||
| ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
| [in] | thread_id | thread ID obtained by osThreadNew or osThreadGetId. |
The event MutexGetOwner is generated when the function osMutexGetOwner is called and its execution result is known.
Value in the Event Recorder shows:
| void EvrRtxMutexDelete | ( | osMutexId_t | mutex_id | ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
The event MutexDelete is generated when the function osMutexDelete is called.
Value in the Event Recorder shows:
| void EvrRtxMutexDestroyed | ( | osMutexId_t | mutex_id | ) |
| [in] | mutex_id | mutex ID obtained by osMutexNew. |
The event MutexDestroyed is generated when the function osMutexDelete successfully deletes the mutex object.
Value in the Event Recorder shows: