Skip to main content
Associate II
March 13, 2025
Question

GPU2D not working on Custom board with STM32H7S7I8Tx

  • March 13, 2025
  • 1 reply
  • 1779 views

Good morning everyone, I need your help.
I am developing a custom board in which I mount the STM32H7S7I8x micro and a 7-inch 1024 x 600 LCD.
I have already developed the application, the graphics run correctly in the display and everything works fine.
For timing issues momentarily I have only used DMA2D for the graphics part and everything works perfectly apart from some slowness in some animations or scroll of big pages.
I then wanted to try adding GPU2D to see if the performance would improve, but I am having several problems.
Below I am including photos of how I configured it on CubeMX.
In fact I am in the situation where it is called once return HALGPU2D::beginFrame(); and then that is it, the code runs but does not give errors. It stays in “loop” in prvIdleTask. It does not flush (HALGPU2D::flushFrameBuffer(rect);) or even HALGPU2D::endFrame();
I don't understand how I can move, following the example codes in Demo ST it all looks “identical”.
The thing I find strange is that by enabling only DMA2D in the Middleware->TouchGFX section all my (already quite advanced) graphics work perfectly without bugs (except for a slight slowness in some situations)
Is there something I am missing to properly enable GPU2D on my micro? Besides the configuration on CubeMX?

1 reply

GaetanGodart
Technical Moderator
March 13, 2025

Hello @Leo_Berna99 ,

 

XCubeTouchGFX.png :

GaetanGodart_0-1741876176552.png

Here you have not enabled DMA2D, only GPU2D.

When you enabled GPU2D, did you disabled DMA2D in the process?

You can enable both at the same time, perhaps this is what you should do.
Here is the configuration for the STM32H7S7 TBS:

GaetanGodart_1-1741876334864.png

 

Regards,

Associate II
March 13, 2025

Hello @GaetanGodart , 

Thanks for your reply. Yes, I've already tried that solution, both DMA2D and GPU2D but it didn't work.

The result of the debug is the same unfortunately. 

The only working solution is enabling the DMA2D and no GPU2D, but I need that.

Any other suggestion?