ESP32-S3 with ESP-IDF v5.4.1 LVGL 9.2.0 Custom memory allocator

记录ESP32-S3 with ESP-IDF v5.4.1 LVGL 9.2.0 Custom memory allocator, 原因是GUI guider创建多个页面,使用时经常出现crash,怀疑是否是将内部内存消耗殆尽

We enabled CONFIG_LV_USE_CUSTOM_MALLOC in the LVGL configuration to override LVGL’s default memory allocation with our custom implementation using heap_caps_malloc(size, MALLOC_CAP_SPIRAM) to allocate all LVGL memory in PSRAM

github issue tracker

我的解决方案

根据上述github issue中所描述,这种方案不是一个好的选择,在clean之后,代码层面就会reset。

配置

ESP32-S3 with ESP-IDF v5.4.1 LVGL 9.2.0 Custom memory allocator_第1张图片

修改标准C functions malloc/realloc/free源码

#include 
void * lv_malloc_core(size_t size)
{
    return heap_caps_malloc(size, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT);
}

void * lv_realloc_core(void * p, size_t new_size)
{
    return heap_caps_realloc(p, new_size, MALLOC_CAP_SPIRAM | MALLOC_CAP_8BIT);
}

你可能感兴趣的:(ESP,ESP32-S3)