cancel
Showing results for 
Search instead for 
Did you mean: 

Double buffer with external LCD controller via FMC

amiotk
Associate

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

3 REPLIES 3
MM..1
Chief III

Double buffer isnt required for use DMA.

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.).

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.