cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX init screen random data

aplastiras
Associate II

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

5 REPLIES 5
Mon2
Senior III

Try a full Chip Erase and see if that helps:

0690X000006CyxBQAS.png

aplastiras
Associate II

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

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
Chief III

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

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