Skip to main content
Associate II
March 18, 2025
Question

TouchGFX framebuffer flickering - Cacheable or Non-cacheable MPU configuration?

  • March 18, 2025
  • 0 replies
  • 521 views

Hello,

I'm currently developing graphics on an STM32H750-based board using TouchGFX, and my framebuffer is located in external SDRAM.

I've noticed flickering occurring in certain screen areas, especially when the UI becomes complex.

After investigating, I discovered that configuring the MPU region for SDRAM as Non-cacheable completely resolves the flickering issue.

I wonder what the recommended approach is in this scenario:

  1. Should I configure the SDRAM MPU region as Non-cacheable?
  2. Or, should I keep the SDRAM MPU region as Cacheable, and instead manually handle cache maintenance (e.g., using SCB_CleanDCache() at framebuffer flush or buffer switch points)?

Which approach is the proper or recommended practice?

Thanks for any guidance!