ForTest Posted September 13 Report Posted September 13 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
Joel Bodenmann Posted September 13 Report Posted September 13 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.
ForTest Posted September 16 Author Report Posted September 16 (edited) 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. 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 F. Edited September 16 by ForTest
Joel Bodenmann Posted September 16 Report Posted September 16 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?
ForTest Posted September 16 Author Report Posted September 16 The method used is this : https://wiki.ugfx.io/index.php/Using_Eclipse
Joel Bodenmann Posted September 16 Report Posted September 16 Have a look at the command(s) passed to the compiler to verify that STM32LTDC_USE_DMA2D=GFXON is being passed as expected. This should definitely work (both based one existing customer projects as well as a quick test on our end).
ForTest Posted September 16 Author Report Posted September 16 Thank you Joel for the insight and feedback F.
Joel Bodenmann Posted September 16 Report Posted September 16 Don't hesitate to ask if you have any other questions
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now