內存池函數
內存池函數生成的事件。更多...
函數 |
|
void | EvrRtxMemoryPoolError (osMemoryPoolId_t mp_id, int32_t status) |
內存池錯誤事件(錯誤)更多... | |
void | EvrRtxMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr) |
內存池上的事件創建和初始化(API)更多... | |
void | EvrRtxMemoryPoolCreated (osMemoryPoolId_t mp_id, const char *name) |
成功的內存池創建事件(Op)更多... | |
void | EvrRtxMemoryPoolGetName (osMemoryPoolId_t mp_id, const char *name) |
內存池名稱檢索(API)上的事件 更多... | |
void | EvrRtxMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout) |
內存池分配事件(API)更多... | |
void | EvrRtxMemoryPoolAllocPending (osMemoryPoolId_t mp_id, uint32_t timeout) |
待處理內存池分配事件(Op)更多... | |
void | EvrRtxMemoryPoolAllocTimeout (osMemoryPoolId_t mp_id) |
內存池分配超時事件(Op)更多... | |
void | EvrRtxMemoryPoolAllocated (osMemoryPoolId_t mp_id, void *block) |
內存池分配成功的事件(Op)更多... | |
void | EvrRtxMemoryPoolAllocFailed (osMemoryPoolId_t mp_id) |
不成功的內存池分配事件(Op)更多... | |
void | EvrRtxMemoryPoolFree (osMemoryPoolId_t mp_id, void *block) |
免費內存池事件(API)更多... | |
void | EvrRtxMemoryPoolDeallocated (osMemoryPoolId_t mp_id, void *block) |
成功內存池免費活動(Op)更多... | |
void | EvrRtxMemoryPoolFreeFailed (osMemoryPoolId_t mp_id, void *block) |
不成功的內存池免費事件(Op)更多... | |
void | EvrRtxMemoryPoolGetCapacity (osMemoryPoolId_t mp_id, uint32_t capacity) |
內存池容量檢索事件(API)更多... | |
void | EvrRtxMemoryPoolGetBlockSize (osMemoryPoolId_t mp_id, uint32_t block_size) |
內存池塊大小檢索事件(API)更多... | |
void | EvrRtxMemoryPoolGetCount (osMemoryPoolId_t mp_id, uint32_t count) |
所使用的內存池塊事件檢索(API)更多... | |
void | EvrRtxMemoryPoolGetSpace (osMemoryPoolId_t mp_id, uint32_t space) |
可用內存池塊上的事件檢索(API)更多... | |
void | EvrRtxMemoryPoolDelete (osMemoryPoolId_t mp_id) |
內存池刪除事件(API)更多... | |
void | EvrRtxMemoryPoolDestroyed (osMemoryPoolId_t mp_id) |
成功內存池刪除事件(Op)更多... | |
描述
函數文檔
void EvrRtxMemoryPoolError | ( | osMemoryPoolId_t | mp_id, |
int32_t | status | ||
) |
參數
[in] | mp_id | 通過 osMemoryPoolNew 獲取的內存池 ID 或 ID 未知時的 NULL。 |
[in] | status | 擴展執行狀態。 |
當內存池例程由於錯誤而完成執行時,將生成事件 MemoryPoolError。
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 | 安全上下文保存失敗。 |
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- status : 執行狀態代碼。
void EvrRtxMemoryPoolNew | ( | uint32_t | block_count, |
uint32_t | block_size, | ||
const osMemoryPoolAttr_t * | attr | ||
) |
參數
[in] | block_count | 內存池中的最大內存塊數。 |
[in] | block_size | 內存塊大小,以字節爲單位。 |
[in] | attr | 內存池屬性; NULL:默認值。 |
調用函數 osMemoryPoolNew 時會生成事件 MemoryPoolNew。
事件記錄器中的值顯示:
- block_count : 內存池中的最大內存塊數。
- block_size : 內存塊大小,以字節爲單位。
- attr : 內存池屬性的內存地址,如果未指定,則爲 0。
如果在 API 調用中提供了內存池屬性,則它們也會在事件記錄器中詳細說明。
void EvrRtxMemoryPoolCreated | ( | osMemoryPoolId_t | mp_id, |
const char * | name | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | name | 指向內存池對象名稱的指針。 |
當函數 osMemoryPoolNew 成功創建內存池對象時,將生成事件 MemoryPoolCreated。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
void EvrRtxMemoryPoolGetName | ( | osMemoryPoolId_t | mp_id, |
const char * | name | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | name | 指向內存池對象名稱的指針。 |
調用函數 osMemoryPoolGetName 並且其執行結果已知時,將生成事件 MemoryPoolGetName。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- name : 檢索名稱字符串的內存地址(如果發生故障,則爲 0)。
void EvrRtxMemoryPoolAlloc | ( | osMemoryPoolId_t | mp_id, |
uint32_t | timeout | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | timeout | 超時值,如果沒有超時,則爲 0。 |
調用函數 osMemoryPoolAlloc 時會生成 MemoryPoolAlloc 事件。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- timeout : 超時值。
void EvrRtxMemoryPoolAllocPending | ( | osMemoryPoolId_t | mp_id, |
uint32_t | timeout | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | timeout | 超時值,如果沒有超時,則爲 0。 |
當函數 osMemoryPoolAlloc 阻塞當前正在運行的線程並等待內存塊變爲可用時,將生成事件 MemoryPoolAllocPending。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- timeout : 超時值。
void EvrRtxMemoryPoolAllocTimeout | ( | osMemoryPoolId_t | mp_id | ) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
等待內存池變爲可用時生成的事件 MemoryPoolAllocTimeout 由於等待超時過期而中止。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
void EvrRtxMemoryPoolAllocated | ( | osMemoryPoolId_t | mp_id, |
void * | block | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | block | 已分配內存塊的地址。 |
當函數 osMemoryPoolAlloc 成功分配內存塊時,將生成 MemoryPoolAllocated 事件。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- block : 分配的內存塊的內存地址。
void EvrRtxMemoryPoolAllocFailed | ( | osMemoryPoolId_t | mp_id | ) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
當函數 osMemoryPoolAlloc 由於可用內存不足而無法分配內存塊時,將生成事件 MemoryPoolAllocFailed。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
void EvrRtxMemoryPoolFree | ( | osMemoryPoolId_t | mp_id, |
void * | block | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | block | 要返回到內存池的已分配內存塊的地址。 |
調用函數 osMemoryPoolFree 時會生成事件 MemoryPoolFree。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- block : 要返回到內存池的內存塊的內存地址。
void EvrRtxMemoryPoolDeallocated | ( | osMemoryPoolId_t | mp_id, |
void * | block | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | block | 要返回到內存池的已分配內存塊的地址。 |
當函數 osMemoryPoolFree 成功釋放內存塊時,將生成 MemoryPoolDeallocated 事件。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- block : 返回內存池的內存塊的內存地址。
void EvrRtxMemoryPoolFreeFailed | ( | osMemoryPoolId_t | mp_id, |
void * | block | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | block | 要返回到內存池的已分配內存塊的地址。 |
當函數 osMemoryPoolFree 無法釋放內存塊時,將生成事件 MemoryPoolFreeFailed。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- block : 要返回到內存池的內存塊的內存地址。
void EvrRtxMemoryPoolGetCapacity | ( | osMemoryPoolId_t | mp_id, |
uint32_t | capacity | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | capacity | 最大內存塊數。 |
調用函數 osMemoryPoolGetCapacity 並且其執行結果已知時,將生成事件 MemoryPoolGetCapacity。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- capacity : 檢索到的最大內存塊數(如果發生故障,則爲 0)。
void EvrRtxMemoryPoolGetBlockSize | ( | osMemoryPoolId_t | mp_id, |
uint32_t | block_size | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | block_size | 內存塊大小,以字節爲單位。 |
調用函數 osMemoryPoolGetBlockSize 並且其執行結果已知時,將生成事件 MemoryPoolGetBlockSize。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- block_size : 檢索內存塊大小(以字節爲單位)(如果發生故障,則爲 0)。
void EvrRtxMemoryPoolGetCount | ( | osMemoryPoolId_t | mp_id, |
uint32_t | count | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | count | 使用的內存塊數。 |
調用函數 osMemoryPoolGetCount 並且其執行結果已知時,將生成事件 MemoryPoolGetCount。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- count : 檢索到的內存塊數量(如果發生故障則爲 0)。
void EvrRtxMemoryPoolGetSpace | ( | osMemoryPoolId_t | mp_id, |
uint32_t | space | ||
) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
[in] | space | 可用的內存塊數。 |
當調用函數 osMemoryPoolGetSpace 並且其執行結果已知時,將生成事件 MemoryPoolGetSpace。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
- space : 檢索到的可用內存塊數(如果發生故障,則爲 0)。
void EvrRtxMemoryPoolDelete | ( | osMemoryPoolId_t | mp_id | ) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
調用函數 osMemoryPoolDelete 時會生成事件 MemoryPoolDelete。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。
void EvrRtxMemoryPoolDestroyed | ( | osMemoryPoolId_t | mp_id | ) |
參數
[in] | mp_id | osMemoryPoolNew 獲取的內存池 ID。 |
當函數 osMemoryPoolDelete 成功刪除內存池對象時,將生成事件 MemoryPoolDestroyed。
事件記錄器中的值顯示:
- mp_id : 內存池 ID。