MCUXpresso SDK API Reference Manual
Rev 2.12.1
NXP Semiconductors
|
Data Structures | |
struct | mem_config_t |
Memory user config. More... | |
Macros | |
#define | MinimalHeapSize_c (uint32_t)4 |
Provide Minimal heap size for application to execute correctly. More... | |
#define | gMemManagerLight (1) |
Configures the memory manager light enable. | |
#define | MEM_MANAGER_ENABLE_TRACE (0) |
Configures the memory manager trace debug enable. | |
#define | MEM_MANAGER_PRE_CONFIGURE (1) |
Configures the memory manager pre configure. | |
#define | MEM_BLOCK_DATA_BUFFER_DEFINE(name, numberOfBlocks, blockSize, id) |
Defines the memory buffer. More... | |
#define | MEM_BLOCK_BUFFER(name) (uint8_t *)&g_poolHeadBuffer##name |
\ More... | |
Enumerations | |
enum | mem_status_t |
Memory status. | |
Functions | |
mem_status_t | MEM_Init (void) |
Initialises the Memory Manager. | |
void * | MEM_BufferAllocWithId (uint32_t numBytes, uint8_t poolId) |
Allocate a block from the memory pools. More... | |
mem_status_t | MEM_BufferFree (void *buffer) |
Memory buffer free . More... | |
uint16_t | MEM_BufferGetSize (void *buffer) |
Returns the size of a given buffer. More... | |
mem_status_t | MEM_BufferFreeAllWithId (uint8_t poolId) |
Frees all allocated blocks by selected source and in selected pool. More... | |
void * | MEM_BufferRealloc (void *buffer, uint32_t new_size) |
Memory buffer realloc. More... | |
uint32_t | MEM_GetHeapUpperLimit (void) |
Get the address after the last allocated block if MemManagerLight is used. More... | |
uint32_t | MEM_GetFreeHeapSize (void) |
Get the free space in the heap. More... | |
void | MEM_ReinitRamBank (uint32_t startAddress, uint32_t endAddress) |
Selective RAM bank reinit after low power, based on a requested address range Useful for ECC RAM banks Defined as weak and empty in fsl_component_mem_manager_light.c to be overloaded by user. More... | |
struct mem_config_t |
#define MinimalHeapSize_c (uint32_t)4 |
The application can define a minimal heap size for proper code exection at run time, This will issue a link error if the minimal heap size requirement is not fullfilled (not enough space in RAM) By Default, Minimal heap size is set to 4 bytes (unlikely enough to have application work correctly)
#define MEM_BLOCK_DATA_BUFFER_DEFINE | ( | name, | |
numberOfBlocks, | |||
blockSize, | |||
id | |||
) |
This macro is used to define the shell memory buffer for memory manager. And then uses the macro MEM_BLOCK_BUFFER to get the memory buffer pointer. The macro should not be used in any function.
This is a example,
name | The name string of the memory buffer. |
numberOfBlocks | The number Of Blocks. |
blockSize | The memory block size. |
id | The id Of memory buffer. |
#define MEM_BLOCK_BUFFER | ( | name | ) | (uint8_t *)&g_poolHeadBuffer##name |
Gets the memory buffer pointer \ \ This macro is used to get the memory buffer pointer. The macro should \ not be used before the macro MEM_BLOCK_BUFFER_DEFINE is used. \ \
name | The memory name string of the buffer. \ |
void* MEM_BufferAllocWithId | ( | uint32_t | numBytes, |
uint8_t | poolId | ||
) |
The function uses the numBytes argument to look up a pool with adequate block sizes.
numBytes | The number of bytes will be allocated. |
poolId | The ID of the pool where to search for a free buffer. |
Memory | buffer address when allocate success, NULL when allocate fail. |
mem_status_t MEM_BufferFree | ( | void * | buffer | ) |
buffer | The memory buffer address will be free. |
kStatus_MemSuccess | Memory free succeed. |
kStatus_MemFreeError | Memory free error occurred. |
uint16_t MEM_BufferGetSize | ( | void * | buffer | ) |
buffer | The memory buffer address will be get size. |
The | size of a given buffer. |
mem_status_t MEM_BufferFreeAllWithId | ( | uint8_t | poolId | ) |
poolId | Selected pool Id (4 LSBs of poolId parameter) and selected source Id (4 MSBs of poolId parameter). |
kStatus_MemSuccess | Memory free succeed. |
kStatus_MemFreeError | Memory free error occurred. |
void* MEM_BufferRealloc | ( | void * | buffer, |
uint32_t | new_size | ||
) |
buffer | The memory buffer address will be reallocated. |
new_size | The number of bytes will be reallocated |
kStatus_MemSuccess | Memory free succeed. |
kStatus_MemFreeError | Memory free error occurred. |
uint32_t MEM_GetHeapUpperLimit | ( | void | ) |
UpperLimit | Return the address after the last allocated block if MemManagerLight is used. |
0 | Return 0 in case of the legacy MemManager. |
uint32_t MEM_GetFreeHeapSize | ( | void | ) |
FreeHeapSize | Return the free space in the heap if MemManagerLight is used. |
0 | Return 0 in case of the legacy MemManager. |
void MEM_ReinitRamBank | ( | uint32_t | startAddress, |
uint32_t | endAddress | ||
) |
[in] | startAddress | Start address of the requested range |
[in] | endAddress | End address of the requested range |