Declare a private memory pool Private mempools example: .h: only when pool is used in multiple .c files: LWIP_MEMPOOL_PROTOTYPE(my_private_pool); .c: - in global variables section: LWIP_MEMPOOL_DECLARE(my_private_pool, 10, sizeof(foo), "Some description") - call ONCE before using pool (e.g. in some init() function): LWIP_MEMPOOL_INIT(my_private_pool); - allocate: void* my_new_mem = LWIP_MEMPOOL_ALLOC(my_private_pool); - free: LWIP_MEMPOOL_FREE(my_private_pool, my_new_mem); To relocate a pool, declare it as extern in cc.h. Example for GCC: extern u8_t \_\_attribute\_\_((section(".onchip_mem"))) memp_memory_my_private_pool_base[];