Skip to main content
amiotk
Associate
November 18, 2022
Question

Double buffer with external LCD controller via FMC

  • November 18, 2022
  • 3 replies
  • 1372 views

I have TouchGFX with ST7789 LCD controller connected via FMC and would like to use double framebuffer strategy to offload the CPU by transferring data to LCD by DMA.

Is this a supported use case?

I noticed a few things which may suggest otherwise:

  1. TouchGFX documentation here says that HAL::flushFrameBuffer() should wait for the pixel data transfer to complete.
  2. With double buffering enabled in CubeMX getClientFrameBuffer() always returns address of frameBuffer1.
  3. A comment in generated source:
//setTFTFrameBuffer() not used for selected display interface

This topic has been closed for replies.

3 replies

MM..1
Super User
November 18, 2022

Double buffer isnt required for use DMA.

amiotk
amiotkAuthor
Associate
November 18, 2022

Isn't it required to allow TouchGFX to prepare the next screen while the current one is being transferred to the LCD controller? LCD update process takes around 13ms so there is not much time left if one wants to update screen at 60Hz (animations etc.).

MM..1
Super User
November 18, 2022

you can use it and is based on fmc and spi LCD have own framebuffers ,

on SPI is data slow for animations, then double buffer is default commented.