cancel
Showing results for 
Search instead for 
Did you mean: 

Getting Flickering Display After Configuring waveshare 1024x600 display for STM32F746IGTx controller

JJhin.1
Senior

Hello friend!

Im working on TouchGFX GUI. Recently i have started learning thiis software using Diffrent diffrernt tutorials available online.

so i have configured FMC, I2C, Quad SPI, DMA2D and LTDC for STM32F746IGTx Controller according to the Data sheet of my touch Display.

After configuring every thing  in CubeMx i added simple background and one Flex Button in TouchGFX and through that button im calling LED Blink function.

so when i done my actual coding and dumped the code into my controller its showing only my button and instead of background image its showing me a flicking background.

But im able to touch the button and through that LED is also getting toggeled.

20230619_105058.jpg

i have uploaded my project files below. please check it and guid me how i should get GUI properly on Touch Display..?

FMC config:

FMC.png

QUADSPI:

QDSPI.png

DMA2D:

DMA2D.png

LTDC Parameters:

LTDCpara.png

LTDC Layer:

LTDClayer.png

TouhGFX settings:

gfx.png

 

CLOCK settings:

clk.png

13 REPLIES 13
JJhin.1
Senior

Is anyone here to help me regarding this? 

Jayesh2
Associate II

@JJhin.1 

In touch gfx and layer setting you have configured pixel format RGB8888 meanwhile in layer setting it is RGB565. 

Please try setting up RGB565 and try again.

Hii @Jayesh2 

i have tried variuose combination of RGB. but its giving same output. finally i got to know that problem is in QUADSPI. Beacuse instead of background image i taken a plane colour in backgoround. this back ground color got saved into my flash memory. and flickering also gone from display. 

MM..1
Chief II

Little match 1024x600xRGB888 background = 1,8MB in flash ... for load it into RGB type display controller need it load for every frame => speed for load from external flash and write into controller LTDC ... read Appnote about limits.

Try change layer config and touchgfx config to RGB565 ant clock ltdc to 33MHz or more

Thank you @MM..1 

Im using external W25Q128JVSIM QSPI memory to store background images. and im trying to give LCD-TFT frquency more than 25MHZ im getting Blank display... nothing is getting displayed on screen.

MM..1
Chief II

Are you sure , that your external QSPI is loaded? What say LCD pdf for max clock ? For designing this big resolution configs is best method start without touchGFX and test every part to working on max best config.

i have a doubt on QSPI loading ... for same setting i used STemwin ... for stemwin i used 2 layers ... and its working properly. But its not working with TouchGFX. 

JJhin.1
Senior

No one is having solution for my problem :upside_down_face: :\ :sleepy_face: 

uilter
Senior

Hi @JJhin.1 

I have a similar display here. This is my custom board:
- STM32H753, running at 480MHz
- External SDRAM, running at 120MHz
- External NOR, to store the Touchgfx images/texts, W25Q128JV, running at 120MHz
- Display 1024x600, connected in RGB888. The scheme color I setup to RGB565 to save NOR space memory.

I had many problems, similar to yours.

Some advices to you, to review the setups. It works for me here.
- Review the CLOCK from your display. Your current clock is low for this resolution. When you perform an animation or transition, you will have problems. If possible, share the link or datasheet here.
In my case, I use 44MHz, but my display supports up to 63MHz.
- Double check the SDRAM memory configurations. Is very importante the correct timming setup to not corrupt your image. This is a nice link that I discovery in ST community, that helps me a lot to understand how to properly do it. Share your SDRAM part number too. http://main.lv/writeup/stm32f4_sdram_configuration.md
This is my SDRAM setup. I use the PN IS42S16400J-7TL
I nice tip is after init the SDRAM is perform a insanity check writing in the SDRAM and read to compare if any value is corrupted. With it you will know the SDRAM is OK.

uilter_1-1688646811794.png

 


- About the NOR, Whats the clock? Are you putting it on Memory Mapped Mode? Check my setup for the same PN you are using. 

uilter_0-1688646749962.png

- Double check your LINKER file to storage the images and texts at external NOR
- The final and very important step, enable your MPU peripheral to prevent memory speculation. This is important to M7 cortex and have a special section on the LTDC app note AN4861:
* Page 53, section 4.6.1
* Page 54, section 4.6.2
* Page 86, section 6.2.7 (example)
- LTDC: your setup seems OK. Just try put the Pixel Format to RGB565 to check if you not have perfomance issues. After validate it, change to test.
- DMA2D: seems ok for me
- TouchGFX: setup it to RGB565 either. I advise you to enable double frame buffer. It helps a lot when you have animations. Note the SDRAM NOR need to check ir your BANK. Check my setup

uilter_2-1688647568605.png

Important step. If you change the PIXEL format from RGB888 to RGB565 for instance, you need to open Touchgfx designer and regenerate the code. Check my TouchGFX setup, for scheme color.

uilter_3-1688647707641.png

Let us know if it helps you.