一、模组介绍
我这里使用的是ESP32-S3-LCD-EV-Board-2开发板,板载ESP32-S3-WROOM-1-N16R16V模组
ESP32-S3-WROOM-1-N16R16V 模组是一款通用型 Wi-Fi + 低功耗蓝牙 MCU 模组,搭载 ESP32-S3 系列芯片,内置 16 MB flash 以及 16 MB PSRAM。除具有丰富的外设接口外,模组还拥有强大的神经网络运算能力和信号处理能力,适用于 AIoT 领域的多种应用场景。
二、配置介绍
使用该开发板自带的lvgl_demos例程,开发工具是Visual Studio Code 1.9
找到模组的数据手册,查看外部Flash何PSRAM的接口
在配置工程
ESP32 支持四种不同的 SPI flash 访问模式:DIO、DOUT、QIO 和 QOUT
可选项 | 模式名称 | 引脚 | 速度 |
QIO | Quad I/O | 地址和数据 4pins | 最快 |
QOUT | Quad Output | 数据 4pins | 约比 qio 模式下慢 15% |
DIO | Dual I/O | 地址和数据 2pins | 约比 qio 模式下慢 30% |
DOUT | Dual Output | 数据 2pins | 约比 qio 模式下慢 45% |
通常选择与设备相适应的最快的工作模式, 并非所有设备都支持所有模式。
PSRAM
修改内存申请方式
修改最大一次申请内存大小,默认是16384也就是16Kb,改成512Kb,也就是524288,Main task stack size设置,既然用了外部存储也设置大一点,如果设置过小,就可能出现应用不断重启问题,提示信息为堆栈溢出
主时钟默认240MHz,缓存参数也是默认
保存
三、代码测试
程序中申请大内存
uint8_t buf1 = heap_caps_malloc(320*240 * sizeof(lv_color_t), MALLOC_CAP_SPIRAM);