Memory Pool Manager. More...
Data Structures | |
struct | mem_pool_info_t |
enum | mem_pool_id_t { MEM_POOL_L1_NON_RET = 0, MEM_POOL_L1_RET = 1, MEM_POOL_CACHE_L1_NON_RET = 2, MEM_POOL_CACHE_L1_RET = 3, MEM_POOL_L2_NON_RET = 4, MEM_POOL_L2_RET = 5, MEM_POOL_L2_CACHE_NON_RET = 6, MEM_POOL_L2_CACHE_RET = 7, MEM_POOL_NUM } |
void * | mem_pool_alloc (mem_pool_id_t pool_id, size_t size) |
void * | mem_pool_realloc (void *p, size_t new_size) |
void | mem_pool_free (void *p) |
void * | mem_pool_calloc (mem_pool_id_t pool_id, size_t count, size_t size) |
bool | mem_pool_get_info (mem_pool_id_t pool_id, mem_pool_info_t *info) |
#define | MEM_POOL_L1_NON_RET_SIZE 0 |
#define | MEM_POOL_L2_NON_RET_SIZE 0 |
#define | MEM_POOL_L2_RET_SIZE 0 |
#define | MEM_POOL_L2_CACHE_NON_RET_SIZE 0 |
#define | MEM_POOL_L2_CACHE_RET_SIZE 0 |
#define | ITCM_NON_RET_CODE_SEC(section_name) SECTION(STRINGIFY(.itcm_non_ret_text_##section_name)) |
#define | ITCM_NON_RET_RODATA_SEC(section_name) SECTION(STRINGIFY(.itcm_non_ret_rodata_##section_name)) |
#define | ITCM_NON_RET_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.itcm_non_ret_bss_##section_name) |
#define | ITCM_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
#define | ITCM_NON_RET_BSS_SECT(section_name) SECTION(STRINGIFY(.bss.itcm_non_ret_bss_##section_name)) |
#define | ITCM_NON_RET_DATA_SECT(section_name) SECTION(STRINGIFY(.itcm_non_ret_data_##section_name)) |
#define | RETM_CODE_SECT(section_name, func) SECTION(STRINGIFY(.retm_text_##section_name)) func |
#define | RETM_RODATA_SECT(section_name) SECTION(STRINGIFY(.retm_rodata_##section_name)) |
#define | RETM_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.bss.retm_bss_##section_name) |
#define | RETM_BSS_SECT_END SECTION_ZIDATA_END |
#define | RETM_BSS_SECT(section_name) SECTION(STRINGIFY(.bss.retm_bss_##section_name)) |
#define | RETM_DATA_SECT(section_name) SECTION(STRINGIFY(.retm_data_##section_name)) |
#define | L1_NON_RET_CODE_SECT(section_name) SECTION(STRINGIFY(.l1_non_ret_text_##section_name)) |
#define | L1_NON_RET_RODATA_SECT(section_name) SECTION(STRINGIFY(.l1_non_ret_rodata_##section_name)) |
#define | L1_NON_RET_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.l1_non_ret_bss_##section_name) |
#define | L1_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
#define | L1_NON_RET_BSS_SECT(section_name, var) var SECTION(STRINGIFY(.bss.l1_non_ret_bss_##section_name)) |
#define | L1_NON_RET_DATA_SECT(section_name) SECTION(STRINGIFY(.l1_non_ret_data_##section_name)) |
#define | L1_RET_CODE_SECT(section_name, func) SECTION(STRINGIFY(.l1_ret_text_##section_name)) func |
#define | L1_RET_RODATA_SECT(section_name) SECTION(STRINGIFY(.l1_ret_rodata_##section_name)) |
#define | L1_RET_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.l1_ret_bss_##section_name) |
#define | L1_RET_BSS_SECT_END SECTION_ZIDATA_END |
#define | L1_RET_BSS_SECT(section_name, var) var SECTION(STRINGIFY(.bss.l1_ret_bss_##section_name)) |
#define | L1_RET_DATA_SECT(section_name) SECTION(STRINGIFY(.l1_ret_data_##section_name)) |
#define | L2_NON_RET_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.l2_non_ret_bss_##section_name) |
#define | L2_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
#define | L2_NON_RET_BSS_SECT(section_name, var) var SECTION(STRINGIFY(.bss.l2_non_ret_bss_##section_name)) |
#define | L2_NON_RET_DATA_SECT(section_name) SECTION(STRINGIFY(.l2_non_ret_data_##section_name)) |
#define | L2_RET_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.l2_ret_bss_##section_name) |
#define | L2_RET_BSS_SECT_END SECTION_ZIDATA_END |
#define | L2_RET_BSS_SECT(section_name) SECTION(STRINGIFY(.bss.l2_ret_bss_##section_name)) |
#define | L2_RET_DATA_SECT(section_name) SECTION(STRINGIFY(.l2_ret_data_##section_name)) |
#define | L2_CACHE_NON_RET_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.l2_cache_non_ret_bss_##section_name) |
#define | L2_CACHE_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
#define | L2_CACHE_NON_RET_BSS_SECT(section_name) SECTION(STRINGIFY(.bss.l2_cache_non_ret_bss_##section_name)) |
#define | L2_CACHE_NON_RET_DATA_SECT(section_name) SECTION(STRINGIFY(.l2_cache_non_ret_data_##section_name)) |
#define | L2_CACHE_RET_BSS_SECT_BEGIN(section_name) SECTION_ZIDATA_BEGIN(.l2_cache_ret_bss_##section_name) |
#define | L2_CACHE_RET_BSS_SECT_END SECTION_ZIDATA_END |
#define | L2_CACHE_RET_BSS_SECT(section_name) SECTION(STRINGIFY(.bss.l2_cache_ret_bss_##section_name)) |
#define | L2_CACHE_RET_DATA_SECT(section_name) SECTION(STRINGIFY(.l2_cache_ret_data_##section_name)) |
Memory Pool Manager.
#define ITCM_NON_RET_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.itcm_non_ret_bss_##section_name) |
ITCM non-retained bss section begin
#define ITCM_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
ITCM non-retained bss section end
#define ITCM_NON_RET_CODE_SEC | ( | section_name | ) | SECTION(STRINGIFY(.itcm_non_ret_text_##section_name)) |
ITCM non-retained code section
#define ITCM_NON_RET_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.itcm_non_ret_data_##section_name)) |
ITCM non-retained rwdata section
#define ITCM_NON_RET_RODATA_SEC | ( | section_name | ) | SECTION(STRINGIFY(.itcm_non_ret_rodata_##section_name)) |
ITCM non-retained rodata section
#define L1_NON_RET_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.l1_non_ret_bss_##section_name) |
L1 non-retained bss section begin
#define L1_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
L1 non-retained bss section end
#define L1_NON_RET_CODE_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l1_non_ret_text_##section_name)) |
L1 non-retained code section
#define L1_NON_RET_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l1_non_ret_data_##section_name)) |
L1 non-retained rwdata section
#define L1_NON_RET_RODATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l1_non_ret_rodata_##section_name)) |
L1 non-retained rodata section
#define L1_RET_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.l1_ret_bss_##section_name) |
L1 retained bss section begin
#define L1_RET_BSS_SECT_END SECTION_ZIDATA_END |
L1 retained bss section end
#define L1_RET_CODE_SECT | ( | section_name, | |
func | |||
) | SECTION(STRINGIFY(.l1_ret_text_##section_name)) func |
L1 retained code section
#define L1_RET_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l1_ret_data_##section_name)) |
L1 retained rwdata section
#define L1_RET_RODATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l1_ret_rodata_##section_name)) |
L1 retained rodata section
#define L2_CACHE_NON_RET_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.l2_cache_non_ret_bss_##section_name) |
L2 cachable non-retained bss section begin
#define L2_CACHE_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
L2 cachable non-retained bss section
#define L2_CACHE_NON_RET_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l2_cache_non_ret_data_##section_name)) |
L2 cachable non-retained rwdata section
#define L2_CACHE_RET_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.l2_cache_ret_bss_##section_name) |
L2 cachable retained bss section begin
#define L2_CACHE_RET_BSS_SECT_END SECTION_ZIDATA_END |
L2 cachable retained bss section end
#define L2_CACHE_RET_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l2_cache_ret_data_##section_name)) |
L2 cachable retained rwdata section
#define L2_NON_RET_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.l2_non_ret_bss_##section_name) |
L2 non-retained bss section begin
#define L2_NON_RET_BSS_SECT_END SECTION_ZIDATA_END |
L2 non-retained bss section end
#define L2_NON_RET_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l2_non_ret_data_##section_name)) |
L2 non-retained rwdata section
#define L2_RET_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.l2_ret_bss_##section_name) |
L2 retained bss section begin
#define L2_RET_BSS_SECT_END SECTION_ZIDATA_END |
L2 retained bss section end
#define L2_RET_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.l2_ret_data_##section_name)) |
L2 retained rwdata section
#define RETM_BSS_SECT_BEGIN | ( | section_name | ) | SECTION_ZIDATA_BEGIN(.bss.retm_bss_##section_name) |
retention memory bss section begin
#define RETM_BSS_SECT_END SECTION_ZIDATA_END |
retention memory bss section end
#define RETM_CODE_SECT | ( | section_name, | |
func | |||
) | SECTION(STRINGIFY(.retm_text_##section_name)) func |
code section in retention memory
#define RETM_DATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.retm_data_##section_name)) |
rwdata section in retention memory
#define RETM_RODATA_SECT | ( | section_name | ) | SECTION(STRINGIFY(.retm_rodata_##section_name)) |
rodata section in retention memory
enum mem_pool_id_t |
memory pool id
Fallback policy: L1_NON_RET -> L1_RET L2_CACHE_RET -> L2_RET -> L1_RET L2_CACHE_NON_RET -> L2_NON_RET -> L1_NON_RET