互斥函數
互斥函數生成的事件。更多...
函數 |
|
void | EvrRtxMutexError (osMutexId_t mutex_id, int32_t status) |
互斥錯誤事件(錯誤)更多... | |
void | EvrRtxMutexNew (const osMutexAttr_t *attr) |
互斥體上的事件創建和初始化(API)更多... | |
void | EvrRtxMutexCreated (osMutexId_t mutex_id, const char *name) |
成功互斥的活動創造(Op)更多... | |
void | EvrRtxMutexGetName (osMutexId_t mutex_id, const char *name) |
互斥鎖名稱檢索(API)上的事件 更多... | |
void | EvrRtxMutexAcquire (osMutexId_t mutex_id, uint32_t timeout) |
關於互斥鎖獲取的事件(API)更多... | |
void | EvrRtxMutexAcquirePending (osMutexId_t mutex_id, uint32_t timeout) |
掛起互斥的事件獲得(Op)更多... | |
void | EvrRtxMutexAcquireTimeout (osMutexId_t mutex_id) |
互斥鎖上的事件獲取超時(Op)更多... | |
void | EvrRtxMutexAcquired (osMutexId_t mutex_id, uint32_t lock) |
成功互斥的事件獲得(Op)更多... | |
void | EvrRtxMutexNotAcquired (osMutexId_t mutex_id) |
不成功互斥的事件獲得(Op)更多... | |
void | EvrRtxMutexRelease (osMutexId_t mutex_id) |
關於互斥發佈(API)的事件 更多... | |
void | EvrRtxMutexReleased (osMutexId_t mutex_id, uint32_t lock) |
成功互斥發佈活動(Op)更多... | |
void | EvrRtxMutexGetOwner (osMutexId_t mutex_id, osThreadId_t thread_id) |
互斥鎖所有者檢索(API)上的事件 更多... | |
void | EvrRtxMutexDelete (osMutexId_t mutex_id) |
互斥刪除(API)上的事件 更多... | |
void | EvrRtxMutexDestroyed (osMutexId_t mutex_id) |
成功互斥刪除事件(Op)更多... | |
描述
函數文檔
void EvrRtxMutexError | ( | osMutexId_t | mutex_id, |
int32_t | status | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID 或 ID 未知時爲 NULL。 |
[in] | status | 擴展執行狀態。 |
當互斥管理例程由於錯誤而完成執行時,會生成事件 MutexError。
status 參數指示執行狀態,可以是 osStatus_t 代碼之一,也可以是下表中彙總的擴展執行狀態代碼之一。
擴展狀態代碼 | 描述 |
---|---|
osRtxErrorKernelNotReady | 內核調度程序未處於就緒狀態。 |
osRtxErrorKernelNotRunning | 內核調度程序沒有執行 - 沒有正在運行的線程。 |
osRtxErrorInvalidControlBlock | 指定了具有無效對齊或大小的對象控制塊。 |
osRtxErrorInvalidDataMemory | 指定了無效對齊或大小的對象數據存儲器。 |
osRtxErrorInvalidThreadStack | 指定了無效對齊或大小的線程堆棧內存。 |
osRtxErrorInvalidPriority | 指定了無效的線程優先級。 |
osRtxErrorThreadNotJoinable | 指定的線程不可連接。 |
osRtxErrorMutexNotOwned | 指定的互斥鎖不歸當前運行的線程所有。 |
osRtxErrorMutexNotLocked | 指定的互斥鎖未鎖定。 |
osRtxErrorMutexLockLimit | 達到的最大遞歸互斥鎖數。 |
osRtxErrorSemaphoreCountLimit | 達到了信號量計數限制。 |
osRtxErrorTZ_InitContext_S | 安全上下文內存系統初始化失敗。 |
osRtxErrorTZ_AllocContext_S | 安全上下文內存分配失敗。 |
osRtxErrorTZ_FreeContext_S | 安全上下文內存釋放失敗。 |
osRtxErrorTZ_LoadContext_S | 安全上下文加載失敗。 |
osRtxErrorTZ_SaveContext_S | 安全上下文保存失敗。 |
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
- status : 執行狀態代碼。
void EvrRtxMutexNew | ( | const osMutexAttr_t * | attr | ) |
參數
[in] | attr | 互斥屬性。 |
調用函數 osMutexNew 時會生成事件 MutexNew。
事件記錄器中的值顯示:
- attr : 互斥鎖屬性的內存地址,如果未指定,則爲 0。
如果在 API 調用中提供了互斥鎖屬性,則它們也會在事件記錄器中詳細說明。
void EvrRtxMutexCreated | ( | osMutexId_t | mutex_id, |
const char * | name | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
[in] | name | 指向互斥對象名稱的指針。 |
當函數 osMutexNew 成功創建互斥對象時,將生成事件 MutexCreated。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
void EvrRtxMutexGetName | ( | osMutexId_t | mutex_id, |
const char * | name | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
[in] | name | 指向互斥對象名稱的指針。 |
調用函數 osMutexGetName 並且其執行結果已知時,將生成事件 MutexGetName。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
- name : 檢索名稱字符串的內存地址(如果發生故障,則爲 0)。
void EvrRtxMutexAcquire | ( | osMutexId_t | mutex_id, |
uint32_t | timeout | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
[in] | timeout | 超時值,如果沒有超時,則爲 0。 |
調用函數 osMutexAcquire 時會生成事件 MutexAcquire。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
- timeout : 超時值。
void EvrRtxMutexAcquirePending | ( | osMutexId_t | mutex_id, |
uint32_t | timeout | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
[in] | timeout | 超時值,如果沒有超時,則爲 0。 |
當函數 osMutexAcquire 阻止當前正在運行的線程並等待互斥鎖變爲可用時,將生成事件 MutexAcquirePending。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
- timeout : 超時值。
void EvrRtxMutexAcquireTimeout | ( | osMutexId_t | mutex_id | ) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
等待互斥鎖變爲可用時生成的事件 MutexAcquireTimeout 由於等待超時過期而中止。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
void EvrRtxMutexAcquired | ( | osMutexId_t | mutex_id, |
uint32_t | lock | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
[in] | lock | 當前鎖定互斥鎖對象的次數。 |
當函數 osMutexAcquire 成功獲取互斥鎖時,將生成事件 MutexAcquired。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
- lock : 當前鎖定計數器狀態。
void EvrRtxMutexNotAcquired | ( | osMutexId_t | mutex_id | ) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
當函數 osMutexAcquire 在沒有超時的情況下返回並且未獲取互斥鎖時,將生成事件 MutexNotAcquired。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
void EvrRtxMutexRelease | ( | osMutexId_t | mutex_id | ) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
調用函數 osMutexRelease 時會生成事件 MutexRelease。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
void EvrRtxMutexReleased | ( | osMutexId_t | mutex_id, |
uint32_t | lock | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
[in] | lock | 當前鎖定互斥鎖對象的次數。 |
當函數 osMutexRelease 成功釋放互斥鎖時,會生成事件 MutexReleased。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
- lock : 當前鎖定計數器狀態。
void EvrRtxMutexGetOwner | ( | osMutexId_t | mutex_id, |
osThreadId_t | thread_id | ||
) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
[in] | thread_id | osThreadNew 或 osThreadGetId 獲取的線程 ID。 |
當調用函數 osMutexGetOwner 並且其執行結果已知時,將生成事件 MutexGetOwner。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
- thread_id : 檢索所有者線程 ID(如果發生故障或未鎖定互斥鎖,則爲 0)
void EvrRtxMutexDelete | ( | osMutexId_t | mutex_id | ) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
調用函數 osMutexDelete 時會生成事件 MutexDelete。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。
void EvrRtxMutexDestroyed | ( | osMutexId_t | mutex_id | ) |
參數
[in] | mutex_id | osMutexNew 獲取的互斥鎖 ID。 |
當函數 osMutexDelete 成功刪除互斥鎖對象時,將生成事件 MutexDestroyed。
事件記錄器中的值顯示:
- mutex_id : 互斥鎖 ID。