cancel
Showing results for 
Search instead for 
Did you mean: 

Why is the display of my button control using TouchGFX not clear?

zhaowhong
Associate II

Hi

My project is using an alientek 4.3 inch TFTLCD screen, which is driven by FMC (Flexible Memory Controller).
And  ,The display effect of the button control does not meet my expectations after I load it.“next text”is my button,

that there are many horizontal dots or speckles inside。

thank you




微信图片_20240914102946.jpg

10 REPLIES 10
GaetanGodart
ST Employee

Hello @zhaowhong and welcome to the community!

 

It is usually quite hard to help people on hardware related issue.

Can you give me more information about your problem.
When does it occurs?
What happens if you move the button to another location?
What happens if you do not add the text? Do you still get the dots? The lines?
Are you using a flexButton or a button + a TextArea?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
SofLit
ST Employee

+What STM32 product you are using?

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
Osman SOYKURT
ST Employee

Hello @zhaowhong ,

Did you change the orientation of your screen in TouchGFX? Have you applied layout rotation on your image?

OsmanSOYKURT_0-1726568605256.png

OsmanSOYKURT_1-1726568678376.png

Osman SOYKURT
ST Software Developer | TouchGFX
zhaowhong
Associate II

thank you

 "I have not added any image."Is this related to not adding anything?" I found  if I select 

zhaowhong_0-1726620419134.png

 The display effect is well.

 

stm32F767

It's hard to tell with limited information but i've had a very similar issue in the past.

It was caused by not moving/placing image assets in the external FMC flash during the flashing process. I had to write a "custom loader" to interface & place the images in external flash.

Another issue similar to this was memory bandwidth problems. I "clocked" the FMC memories to slow which resulted in a similar looking graphic glitch.

Try to configure the LCD memory region as Strongly-Ordered or Device using MPU. Or simply disable the cache an see what happens. It could be something related to cache coherency issue.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
SofLit
ST Employee

It could be also due to the speculative behavior of the cortex M7:

https://community.st.com/t5/stm32-mcus-products/m7-speculative-access-vs-cache/td-p/131916

https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/screen-freezes-when-using-both-sdram-and-touchgfx-enabled/td-p/590334

In that case need to disable all the unused memory regions using MPU.

You can for example start by setting a Background MPU config to disable mainly all regions except the internal memory regions,  then enable the necessary external memories one by one. 

Example, refer to and see the MPU config: https://github.com/STMicroelectronics/STM32CubeF7/blob/master/Projects/STM32F769I_EVAL/Applications/Audio/Audio_playback_and_record/Src/main.c

This part is the MPU background config, then subsequent configs (not shown below) are to enable the necessary memory regions.

 

  /* Configure the MPU as Strongly ordered for not defined regions */
  MPU_InitStruct.Enable = MPU_REGION_ENABLE;
  MPU_InitStruct.BaseAddress = 0x00;
  MPU_InitStruct.Size = MPU_REGION_SIZE_4GB;
  MPU_InitStruct.AccessPermission = MPU_REGION_NO_ACCESS;
  MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE;
  MPU_InitStruct.IsCacheable = MPU_ACCESS_NOT_CACHEABLE;
  MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE;
  MPU_InitStruct.Number = MPU_REGION_NUMBER0;
  MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0;
  MPU_InitStruct.SubRegionDisable = 0x87;
  MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE;

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Hello @zhaowhong ,

 

Were you able to move forward on your issue?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)