Jump to content

STM32H7 with LTDC


ForTest

Recommended Posts

Dear community,

we are using a LTDC graphics driver on STM32H7 microcontroller and use configuration and initialization in the attached.

We are using RGB565 mode.

We find the display is working properly.

However, we would like to try using graphics accelerations, particularly those provided by the fillarea() function


However, it is not clear to us at the configuration level how to enable them.

Trying to trace back to the whole definition level it seems to us that this define is the one that can enable hardware accelerations but adding it to the configuration returns us error.

#define GDISP_DRIVER_LIST GDISPVMT_STM32LTDC

Can you give us any guidance on this?

Best regards

 

F.

STM32LTDC.ZIP gfxconf.h

Link to comment
Share on other sites

Happy to hear that you have the STM32LTDC driver up and running :)

The hardware accelerated area filling is handled by the DMA2D peripheral.
From the µGFX side of things, the only thing you have to do is setting `STM32LTDC_USE_DMA2D` define to `GFXON`.

More information regarding the STM32LTDC driver can be found in the corresponding driver readme: https://git.ugfx.io/uGFX/ugfx/src/branch/master/drivers/gdisp/STM32LTDC/readme.md

Note: We strongly recommend that you use the latest master branch of the official µGFX v2.x git repository if you're using the LTDC driver. It has been reworked/improved substantially since the last official release.

Link to comment
Share on other sites

I think we have some problem in the cascade of #defines coming from gfxconf.h

Unclear why even if the define you mentioned is enabled , within the fillarea() the sections that invoke the fill acceleration present in “gdisp_lld_STM32LTDC.c” are not enabled in my case.

image.png.9065eee990707b819c057125a8e6b42c.png

 

I quickly solved it by removing the #if conditions (not much time to investigate why this happens)

It seems that this define present in “gdisp_driver.h” wins

image.png.f1f814db9f8296c0f27768c5a573ff4a.png

 

 

F.

 

Edited by ForTest
Link to comment
Share on other sites

Just had a quick look and the STM32LTDC_USE_DMA2D define/setting seems to work as intended.

Firstly, make sure that you define STM32LTDC_USE_DMA2D as GFXON (i.e. not just defining it, but also assigning the value to it).
Secondly, have you tried setting STM32LTDC_USE_DMA2D to GFXON in your build system (makefile, cmake, ...) instead of gfxconf.h?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...