cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX, STMCube, Converting to Double buffering

MEder
Associate III

I have a Newhaven 800x480 display connected to the STM32F746G-DISCO board.

Finally got the display and the touch working. It is currently using a single buffer @ 0xC0000000 SDRAM.

There is some artifacts when the screens change with the cover process. So I want to try double buffering.

However if I change to double buffer using 0xC040000 for the second buffer and add an additional layer I get a warning that only one layer is used and things don't work correctly.

I did regenerate code in the TouchGFX designer.

And TouchgfxGeneratedHal.cpp shows the second buffer.

What did I miss? Ideas?

TIA

3 REPLIES 3
MEder
Associate III

After a little thought, I disabled Layer1. Apparently Cube does not know what to do with Layer1.

Just changing from single to double buffering and adding the address was all that was needed.

Thanks

Raouf
ST Employee

Hi MEder,

Just for your information: It is recommended to use only one LTDC layer to get the best graphic performances. And of course you can use double buffering technique to get better display visual effects. For further details on graphical performance at system level I strongly recommend to refer to the LTDC application note AN4861.

Kind Regards,

RBEN

Martin KJELDSEN
Chief III

TouchGFX Generator will also warn that only 1 layer is supported by TouchGFX (with which you can still use double buffering).

/Martin