From eeb18a9098a82d246d7a098f4500092b680bc58d Mon Sep 17 00:00:00 2001 From: zhangyanjiao Date: Fri, 20 Jul 2018 12:11:59 +0800 Subject: [PATCH] Allocate some memories in SPIRAM first --- src/include/lwip/mem.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/include/lwip/mem.h b/src/include/lwip/mem.h index ff208d25..73540f7e 100644 --- a/src/include/lwip/mem.h +++ b/src/include/lwip/mem.h @@ -55,6 +55,22 @@ typedef size_t mem_size_t; typedef u16_t mem_size_t; #define MEM_SIZE_F U16_F +#if ESP_LWIP +/** + * lwip_malloc: if CONFIG_ALLOC_MEMORY_IN_SPIRAM_FIRST is enabled, Try to + * allocate memory for lwip in SPIRAM firstly. If failed, try to allocate + * internal memory then. + */ +#if CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST +#ifndef mem_malloc +#define mem_malloc(size) heap_caps_malloc_prefer(size, 2, MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL) +#endif +#ifndef mem_calloc +#define mem_calloc(n, size) heap_caps_calloc_prefer(n, size, 2, MALLOC_CAP_DEFAULT|MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT|MALLOC_CAP_INTERNAL) +#endif +#endif +#endif + #else /* MEM_SIZE would have to be aligned, but using 64000 here instead of