内存池函数
内存池函数生成的事件。更多...
函数 |
|
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。