CMSIS-RTOS2
Version 2.1.2
Real-Time Operating System: API and RTX Reference Implementation
|
Events generated by semaphore functions. More...
Functions | |
void | EvrRtxSemaphoreError (osSemaphoreId_t semaphore_id, int32_t status) |
Event on semaphore error (Error) More... | |
void | EvrRtxSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr) |
Event on semaphore create and initialize (API) More... | |
void | EvrRtxSemaphoreCreated (osSemaphoreId_t semaphore_id, const char *name) |
Event on successful semaphore create (Op) More... | |
void | EvrRtxSemaphoreGetName (osSemaphoreId_t semaphore_id, const char *name) |
Event on semaphore name retrieve (API) More... | |
void | EvrRtxSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout) |
Event on semaphore acquire (API) More... | |
void | EvrRtxSemaphoreAcquirePending (osSemaphoreId_t semaphore_id, uint32_t timeout) |
Event on pending semaphore acquire (Op) More... | |
void | EvrRtxSemaphoreAcquireTimeout (osSemaphoreId_t semaphore_id) |
Event on semaphore acquire timeout (Op) More... | |
void | EvrRtxSemaphoreAcquired (osSemaphoreId_t semaphore_id) |
Event on successful semaphore acquire (Op) More... | |
void | EvrRtxSemaphoreNotAcquired (osSemaphoreId_t semaphore_id) |
Event on unsuccessful semaphore acquire (Op) More... | |
void | EvrRtxSemaphoreRelease (osSemaphoreId_t semaphore_id) |
Event on semaphore release (API) More... | |
void | EvrRtxSemaphoreReleased (osSemaphoreId_t semaphore_id) |
Event on successful semaphore release (Op) More... | |
void | EvrRtxSemaphoreGetCount (osSemaphoreId_t semaphore_id, uint32_t count) |
Event on semaphore token count retrieval (API) More... | |
void | EvrRtxSemaphoreDelete (osSemaphoreId_t semaphore_id) |
Event on semaphore delete (API) More... | |
void | EvrRtxSemaphoreDestroyed (osSemaphoreId_t semaphore_id) |
Event on successful semaphore delete (Op) More... | |
void EvrRtxSemaphoreError | ( | osSemaphoreId_t | semaphore_id, |
int32_t | status | ||
) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew or NULL when ID is unknown. |
[in] | status | extended execution status. |
The event SemaphoreError is generated when Semaphores 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 EvrRtxSemaphoreNew | ( | uint32_t | max_count, |
uint32_t | initial_count, | ||
const osSemaphoreAttr_t * | attr | ||
) |
[in] | max_count | maximum number of available tokens. |
[in] | initial_count | initial number of available tokens. |
[in] | attr | semaphore attributes. |
The event SemaphoreNew is generated when the function osSemaphoreNew is called.
Value in the Event Recorder shows:
In case when semaphore attributes are provided in the API call they are also detailed in the Event Recorder.
void EvrRtxSemaphoreCreated | ( | osSemaphoreId_t | semaphore_id, |
const char * | name | ||
) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
[in] | name | pointer to semaphore object name. |
The event SemaphoreCreated is generated when the function osSemaphoreNew successfully creates a semaphore object.
Value in the Event Recorder shows:
void EvrRtxSemaphoreGetName | ( | osSemaphoreId_t | semaphore_id, |
const char * | name | ||
) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
[in] | name | pointer to semaphore object name. |
The event SemaphoreGetName is generated when the function osSemaphoreGetName is called and its execution result is known.
Value in the Event Recorder shows:
void EvrRtxSemaphoreAcquire | ( | osSemaphoreId_t | semaphore_id, |
uint32_t | timeout | ||
) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
[in] | timeout | Timeout Value or 0 in case of no time-out. |
The event SemaphoreAcquire is generated when the function osSemaphoreAcquire is called.
Value in the Event Recorder shows:
void EvrRtxSemaphoreAcquirePending | ( | osSemaphoreId_t | semaphore_id, |
uint32_t | timeout | ||
) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
[in] | timeout | Timeout Value or 0 in case of no time-out. |
The event SemaphoreAcquirePending is generated when the function osSemaphoreAcquire blocks current running thread and waits for semaphore token to become available.
Value in the Event Recorder shows:
void EvrRtxSemaphoreAcquireTimeout | ( | osSemaphoreId_t | semaphore_id | ) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
The event SemaphoreAcquireTimeout is generated when wait for semaphore to become available is aborted due to expired wait timeout.
Value in the Event Recorder shows:
void EvrRtxSemaphoreAcquired | ( | osSemaphoreId_t | semaphore_id | ) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
The event SemaphoreAcquired is generated when the function osSemaphoreAcquire successfully acquires the semaphore token.
Value in the Event Recorder shows:
void EvrRtxSemaphoreNotAcquired | ( | osSemaphoreId_t | semaphore_id | ) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
The event SemaphoreNotAcquired is generated when the function osMutexAcquire returns without timeout and semaphore token was not acquired.
Value in the Event Recorder shows:
void EvrRtxSemaphoreRelease | ( | osSemaphoreId_t | semaphore_id | ) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
The event SemaphoreRelease is generated when the function osSemaphoreRelease is called.
Value in the Event Recorder shows:
void EvrRtxSemaphoreReleased | ( | osSemaphoreId_t | semaphore_id | ) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
The event SemaphoreReleased is generated when the function osSemaphoreRelease successfully releases the semaphore token.
Value in the Event Recorder shows:
void EvrRtxSemaphoreGetCount | ( | osSemaphoreId_t | semaphore_id, |
uint32_t | count | ||
) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
[in] | count | current number of available tokens. |
The event SemaphoreGetCount is generated when the function osSemaphoreGetCount is called and its execution result is known.
Value in the Event Recorder shows:
void EvrRtxSemaphoreDelete | ( | osSemaphoreId_t | semaphore_id | ) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
The event SemaphoreDelete is generated when the function osSemaphoreDelete is called.
Value in the Event Recorder shows:
void EvrRtxSemaphoreDestroyed | ( | osSemaphoreId_t | semaphore_id | ) |
[in] | semaphore_id | semaphore ID obtained by osSemaphoreNew. |
The event SemaphoreDestroyed is generated when the function osSemaphoreDelete successfully deletes the semaphore object.
Value in the Event Recorder shows: