cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX shows flicker on content update with DMA2D

fitus
Associate

Hi folks, 

we had made a custom STM32 board and we had some issues setting up TouchGFX. 

Used Components:

Display parallel interface with 800 x 480 pixels

MCU: STM32F429BIT

SDRAM: IS42S16400J-7TL

CubeMX Settings:

FMC for SDRAM

LTDC for Parallel 888 Display

DMA2D enabled

TouchGFX Pack enabled (4.17.0)

We made things similar to the tutorial from embryonic.dk https://www.youtube.com/watch?v=SRQD8JMeg_k

On TouchGFX CubeMX Settings Graphics Accelerator is set to ChromeArt (DMA2D). 

Code generation from CubeMX and TouchGFXDesigner is fine. 

After compiling and download to MCU. Display shows GUI fine for static images. 

Touch and use of gui is it should be.

On switch screen animations, button up and down animation and on the update of digital clock seconds. The displays shows a short flicker. On screen with no changing content display of GUI is fine. 

If we set Graphics Accelerator to custom or none the display of the clock is perfect.

The screen change animation shows a heavy flickering before the animation starts. Animation itself is shown perfectly fine. 

Also button up / down animation is perfectly fine. 

Screen change without any animation is also perfectly fine. 

Can anyone tell us what is going wrong with graphic acceleration?

4 REPLIES 4
manto.1
Senior

I came to same problem. Did you find a solution?

fitus
Associate

We worked around by setting the resolution to 832 x 480 instead of 800 x 480. DMA seems to work in bunches of 64. So the line pixels needs to be a packet of 64. After this performance is good.

Hi fitus,

we are currently facing the identical problem with a 800x480 LCD. Can you please let us know, where you applied the 832 value? In cubeMX or manually? In CubeMX are several setting availble for the width of 800. We have already tried several configurations and could not solve the issue.

There are multiple places where I could change from 800 to 832:

LTDC Parameter "Active Width" and on Layer Settings for Window Horizontal Stop and also for Frame Buffer.

Changing on the Parameter page however influences also the Accumulated Active Width and Total Width etc.

So please can you share, where you changed from 800 to 832 to get it to work?

Or did you manually change a setting in the source code? If so: please can you tell us where?

Thank you for any help.

Best regards

GS

And another question: Did you change the resolution also for the TouchGFX designer? I already have an almost complete layout of the screen pages and can not change them for the new layout.