Skip to main content
aplastiras
Associate
January 7, 2019
Question

TouchGFX init screen random data

  • January 7, 2019
  • 5 replies
  • 1326 views

Dear all,

I am using the STM32F746G-DISCOVERY kit. I have successfully implemented my application.

My problem is that on "Power up" the first screen shown for less than a second is random data (which looks like rubbish) coming from the memory. On "Reset" the init screen for less than a second again is the last screen before reset.

How can I eliminate this problem?

Thank you in advance

This topic has been closed for replies.

5 replies

Mon2
Senior III
January 7, 2019

Try a full Chip Erase and see if that helps:

0690X000006CyxBQAS.png

aplastiras
Associate
January 8, 2019

Hi again,

full chip erase does not help. The memory is volatile. The data in SDRAM are random when ever it starts from power up.

What I am trying to do is to write with the appropriate functions in frame buffer during init.

Any ideas which functions are the right ones for this job?

Thank you again

Mon2
Senior III
January 8, 2019

Have you tried with applying a box with a black background as the first GUI screen? Does that help?

Post a small but complete project that can demonstrate this problem. You can use Wetransfer (free) to share the project.

Martin KJELDSEN
Principal III
January 9, 2019

Hi @aplastiras​,

Sometimes when powering on the display for certain devices, you'll see rubbish before TouchGFX can finish drawing its first frame. We're creating some hooks in TouchGFX that allow you to wait turning on e.g. display/backlight until the first frame has been rendered.

You could do something similar until then by deferring certain hardware initializations until you know a frame has been rendered. It won't be super pretty, but you'd be able to eliminate the random data initial screen. For instance, once you start receiving LCD/DSI callbacks in your concrete HAL class (wait two to be safe, maybe the render time for your first screen is more than 1 vsync), e.g. STM32F7HAL.cpp, you know you've rendered a frame to the framebuffer and you can turn on your display then.

Hope that helps a bit!

Best regards,

Martin

rzapp
Associate II
November 20, 2019

Hi Martin

Do you already have some hooks in touchgfx to solve this issue?

Or can you help me to solve this?

I'm using:

TouchGFX 4.12.3

STM32CubeIDE 1.1.0

The random init screen appears between the HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) function in MX_LCD_Init and osKernelStart();

Thank you