Skip to main content
Associate III
May 23, 2025
Question

Touchgfx display problems, black blocks flash on screen every few seconds

  • May 23, 2025
  • 3 replies
  • 642 views

I have a hmi project using stm32u599 and touchgfx,I use RGB565 lcd and double buffer,totally in sram.Recently,I noticed there is some thing flick on my screen,it appears very short time,but still noticeable.This phenomenon appears only a week,I managed to take a snap of screen and here it is:

微信图片_20250523204428.jpg

the dark part of the picture is what appears on screen. position and shape is fixed every time. there is no resource like this in my resources. 

3 replies

ambAuthor
Associate III
May 24, 2025

Found a solution,add lockDMAToFrontPorch(true); to touchgfxHAL.cpp. Those black blocks disappeared,but frameRate drops from 30fps to 20fps.So I increase ltdc clock from 16Mhz to 20Mhz,frameRate now at 26fps.

ambAuthor
Associate III
May 24, 2025

I read a lot related posts,maybe the reason is stm32u5 core clock is a bit low,sram now at bottle neck.

GGODA
Associate II
May 30, 2025

Hello @amb ,

 

Did you put your STM32U599 ti max clock speed? (160Mhz)

Hox do you know that the sram is the bottleneck? What happens if you lower the sram clock?

Can you put the framebuffer in internal memory? Perhaps by changing to single framebuffer.

 

Regards,

ambAuthor
Associate III
May 30, 2025

Hello @GGODA 

160Mhz,yes.

I didn't dig in for this matter,only my guessing.

two framebuffers is in sram.if I use single buffer,I got severe tearing.

I didn't get help from ST guy,so I have to find a dirty and quick way to solve it.

 

GGODA
Associate II
June 2, 2025

Hello @amb ,

 

If you get low FPS when using double framebuffer and a lot of tearing when using single framebuffer, it is probably because your screen takes too long to render, not because of RAM limitation.
What is on your screen? SVG? Texture mappers?
I would suggest to try and reduce your CPU load.

 

Regards,