nRF5 SDK v13.0.0
Functions
Memory Manager API

Module to declare Memory Manager API. More...

Functions

void sys_mm_init (void *p_start, size_t size)
 Function for initializing the memory manager. More...
 
void * sys_mm_alloc (size_t size)
 Function for allocating memory in the pool. More...
 
void sys_mm_free (void *p_addr)
 Function for freeing the allocated memory. More...
 

Detailed Description

Module to declare Memory Manager API.

The Memory Manager module implements the standard API for allocating/freeing memory chunks. The module must be initialized by sys_mm_init() before a call to any alloc/free routines. The memory can be allocated by a call to sys_mm_alloc() and freed by a call to sys_mm_free(). Minimal chunk of memory to allocate is one byte, however the sys_mm_alloc() routine will allocate the number of bytes aligned to the length of the machine word (e.g. 4 bytes for 32-bit architectures). The module is implemented using the doubly linked lists API.

Function Documentation

void* sys_mm_alloc ( size_t  size)

Function for allocating memory in the pool.

Search and allocate free memory resources.

Parameters
[in]sizeSize of the requested memory.
Return values
Pointerto allocated memory, NULL in case of error.
void sys_mm_free ( void *  p_addr)

Function for freeing the allocated memory.

Parameters
[in]p_addrPointer to the memory to free.
void sys_mm_init ( void *  p_start,
size_t  size 
)

Function for initializing the memory manager.

Initialize the memory manager pool of the 'size' bytes length at 'p_start' address.

Parameters
p_startPool start address.
sizeSize of the pool in bytes.

Documentation feedback | Developer Zone | Subscribe | Updated