Define and manage fixed-size memory pools.
More...
|
#define | osFeature_Pool 1 |
| Memory Pools: 1=available, 0=not available.
|
|
#define | osPoolDef(name, no, type) |
| Define a Memory Pool.
|
|
#define | osPool(name) &os_pool_def_##name |
| Access a Memory Pool definition.
|
|
The Memory Pool Management function group is used to define and manage fixed-sized memory pools.
A CMSIS-RTOS implementation may support fixed-size memory pools. When the value osFeature_Pool is 1 memory pools are supported. When the value osFeature_Pool is 0 no memory pools are supported.
#define osPool |
( |
|
name | ) |
&os_pool_def_##name |
Access a memory pool for the functions osPoolCreate.
- Parameters
-
name | name of the memory pool |
- Note
- CAN BE CHANGED: The parameter to osPool shall be consistent but the macro body is implementation specific in every CMSIS-RTOS.
#define osPoolDef |
( |
|
name, |
|
|
|
no, |
|
|
|
type |
|
) |
| |
Define a memory pool that is referenced by osPool.
- Parameters
-
name | name of the memory pool. |
no | maximum number of blocks (objects) in the memory pool. |
type | data type of a single block (object). |
- Note
- CAN BE CHANGED: The parameter to osPoolDef shall be consistent but the macro body is implementation specific in every CMSIS-RTOS.
- Parameters
-
[in] | pool_id | memory pool ID obtain referenced with osPoolCreate. |
- Returns
- address of the allocated memory block or NULL in case of no memory available.
- Note
- MUST REMAIN UNCHANGED: osPoolAlloc shall be consistent in every CMSIS-RTOS.
Allocate a memory block from the memory pool.
- Parameters
-
[in] | pool_id | memory pool ID obtain referenced with osPoolCreate. |
- Returns
- address of the allocated memory block or NULL in case of no memory available.
- Note
- MUST REMAIN UNCHANGED: osPoolCAlloc shall be consistent in every CMSIS-RTOS.
Allocate a memory block from the memory pool. The block is initialized to zero.
- Parameters
-
[in] | pool_def | memory pool definition referenced with osPool. |
- Returns
- memory pool ID for reference by other functions or NULL in case of error.
- Note
- MUST REMAIN UNCHANGED: osPoolCreate shall be consistent in every CMSIS-RTOS.
Create and initialize a memory pool.
- Parameters
-
[in] | pool_id | memory pool ID obtain referenced with osPoolCreate. |
[in] | block | address of the allocated memory block that is returned to the memory pool. |
- Returns
- status code that indicates the execution status of the function.
- Note
- MUST REMAIN UNCHANGED: osPoolFree shall be consistent in every CMSIS-RTOS.
Return a memory block to a memory pool.
Status and Error Codes
- osOK: the memory block is released.
- osErrorValue: block does not belong to the memory pool.
- osErrorParameter: a parameter is invalid or outside of a permitted range.