很多时候esp32的内部ram不够用,比如涉及音频或者显示图像等处理时,需要更大的内存空间来处理这些数据。这时候怎么办呢?ESP32支持扩展外部RAM,其实乐鑫已经在其ESP32 WROVER系列模组中集成了一个4M大小的外部PSRAM。这时候我们可以使用esp32的外部ram!
乐鑫官网文档对外部RAM作了详解:片外RAM
乐鑫对于ESP32 WROVER的介绍也是:ESP32-WROVER 系列模组基于 ESP32-D0WD 双核芯片设计,其强大的双核性能适用于对内存需求大的应用场景,例如多样的 AIoT 应用和网关应用。如果你的设备需要使用大内存,例如wifi与ble并存,音频处理和图像显示功能,推荐使用这个模组。
快速上手外部RAM
使能外部RAM
首先必须确保你的芯片是有外部RAM的。例如ESP32 WROVER模组。
进入idf.py menuconfig->component config->ESP32-specific
Support for external,SPI-connected RAM选项中按y选中,这样就使能了外部RAM。
配置外部RAM
进入下一行的SPI RAM config进行配置更多的细节。这里讲一下比较重要的配置选项。
第二项配置系统的动态内存分配功能
有三个选项,当选择Make RAM allocatable using heap_caps_malloc(..., M时,需要在代码中使用heap_caps_malloc()函数才能在外部RAM中分配内存。
当选择Make RAM allocatable using malloc() as well时,代码中malloc()函数会自动从外部RAM中分配内存。
当使能这个选项时,还能配置第九