Skip to main content
ktrofimo
Senior III
December 23, 2021
Solved

STM32H743 Weird screen flickering

  • December 23, 2021
  • 2 replies
  • 4071 views

Using TouchGFX with FreeRTOS I got ​very strange screen flickering issue. For me it looks like broken LTDC buffer addresses, but I have no idea how it could happen.

https://youtu.be/sbEkdzT7yIc

Screen is updated few times every​ second.

And the thing what I can't understand is that code breaking screen has absolutely ​nothing related to LTDC or TouchGFX. For example, I can repair video by disabling one of the FreeRTOS tasks. Or comment out a function that does only some memory buffers initialization and moreover this function is not called for first 10 minutes of firmware uptime. But as soon as I uncomment this function call my screen become crazy. So it is more like kind of static memory issue.

Tasks stacks are placed in separate MCU memory region and all tasks have free stack space.​

This topic has been closed for replies.
Best answer by mƎALLEm

Dear @ktrofimo​ ,

It smells the CM7 speculative access behavior.

Could you please disable the access to memory regions that are not used by your application using the MPU?

For more details about the issue and how to fix it, please refer to the AN4861 "Creating a graphical application with LTDC" / section 4.6 Special recommendations for Cortex-M7 (STM32F7/H7).

Also please refer to this thread: https://community.st.com/s/question/0D53W00001GlRzuSAF/information-about-mpu-settings-for-the-stm32h743

2 replies

mƎALLEm
mƎALLEmBest answer
ST Technical Moderator
December 24, 2021

Dear @ktrofimo​ ,

It smells the CM7 speculative access behavior.

Could you please disable the access to memory regions that are not used by your application using the MPU?

For more details about the issue and how to fix it, please refer to the AN4861 "Creating a graphical application with LTDC" / section 4.6 Special recommendations for Cortex-M7 (STM32F7/H7).

Also please refer to this thread: https://community.st.com/s/question/0D53W00001GlRzuSAF/information-about-mpu-settings-for-the-stm32h743

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
ktrofimo
ktrofimoAuthor
Senior III
December 24, 2021

Yes!

You are correct. My SDRAM memory was not cached and thus it was too slow for my task. Correct cache strategy made big difference!

Thanks!