DMA with External RAM (PSRAM)

dami98
Posts: 5
Joined: Thu Jun 01, 2023 12:17 pm

DMA with External RAM (PSRAM)

Postby dami98 » Wed Jun 07, 2023 1:40 pm

Hi all,
i'm currently working on a project in which i am driving a tft display via SPI using an ESP32-S2-WROVER module. I am using LVGL as a graphical tool to build the UI. At the moment i am using a frame buffer in internal memory to draw the screen and then, its content is transferred to the display controller with DMA. However the internal memory is not large enaugh to contain a screen-sized frame buffer so i can only use a partial frame-buffer. I am facing some problems such as tearing effects so it would be very useful to place the the frame-buffer in the external SPIRAM which is big enaugh for this purpose but it is not DMA capable.
I have read in the documentation the following sentence:
"Note, although ESP32-S2 has hardware support for DMA to/from external RAM, this is not yet supported in ESP-IDF."
Is it going to be implemented soon?
Has someone some advice to overcome this problem?

MicroController
Posts: 1735
Joined: Mon Oct 17, 2022 7:38 pm
Location: Europe, Germany

Re: DMA with External RAM (PSRAM)

Postby MicroController » Thu Jun 08, 2023 5:37 pm

One possible work-around can be found in the LCD-RGB panel driver; they call it a bounce buffer, where the full frame buffer resides in PSRAM and is transferred to internal RAM in pieces from where each piece is then DMA'd to the display.

Who is online

Users browsing this forum: No registered users and 95 guests