/* 1: Enable GPU interface*/
#define LV_USE_GPU 0 /*Only enables gpu_fill_cb and gpu_blend_cb in the disp. drv- */
#define LV_USE_GPU_STM32_DMA2D 1
/*If enabling LV_USE_GPU_STM32_DMA2D, LV_GPU_DMA2D_CMSIS_INCLUDE must be defined to include path of CMSIS header of target processor
e.g. “stm32f769xx.h” or “stm32f429xx.h” */
#define LV_GPU_DMA2D_CMSIS_INCLUDE <stm32f7xx.h>
but i've got this error.
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:346:38: error: 'DMA2D_OPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_OPFCCR_CM_Pos'?
346 | DMA2D->OPFCCR |= (RBS_BIT << DMA2D_OPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~
| DMA2D_OPFCCR_CM_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:346:38: note: each undeclared identifier is reported only once for each function it appears in
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:373:39: error: 'DMA2D_BGPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_BGPFCCR_CS_Pos'?
373 | DMA2D->BGPFCCR |= (RBS_BIT << DMA2D_BGPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~~
| DMA2D_BGPFCCR_CS_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c: In function '_lv_draw_stm32_dma2d_blend_map':
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:458:35: error: 'DMA2D_FGPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_FGPFCCR_CS_Pos'?
458 | DMA2D->FGPFCCR |= (RBS_BIT << DMA2D_FGPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~~
| DMA2D_FGPFCCR_CS_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:465:34: error: 'DMA2D_OPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_OPFCCR_CM_Pos'?
465 | DMA2D->OPFCCR |= (RBS_BIT << DMA2D_OPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~
| DMA2D_OPFCCR_CM_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:473:39: error: 'DMA2D_BGPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_BGPFCCR_CS_Pos'?
473 | DMA2D->BGPFCCR |= (RBS_BIT << DMA2D_BGPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~~
| DMA2D_BGPFCCR_CS_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c: In function '_lv_draw_stm32_dma2d_blend_paint':
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:517:35: error: 'DMA2D_BGPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_BGPFCCR_CS_Pos'?
517 | DMA2D->BGPFCCR |= (RBS_BIT << DMA2D_BGPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~~
| DMA2D_BGPFCCR_CS_Pos
arm-none-eabi-gcc "../lvgl/src/draw/sdl/lv_draw_sdl_bg.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F750xx -DTX_INCLUDE_USER_DEFINE_FILE -DSTM32 -DSTM32F7 -DDEBUG -c -I../Core/Inc -I"C:/Users/anand/Music/STM32F7508-DK-LVGL-AzureRtos-Template/Template" -I../Drivers/STM32F7xx_HAL_Driver/Inc -I../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32F7xx/Include -I../Drivers/CMSIS/Include -I../AZURE_RTOS/App -I../Middlewares/ST/threadx/common/inc/ -I../Middlewares/ST/threadx/ports/cortex_m7/gnu/inc/ -I"C:/Users/anand/Music/STM32F7508-DK-LVGL-AzureRtos-Template/Template/Drivers/BSP/STM32F7508-Discovery" -O3 -ffunction-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"lvgl/src/draw/sdl/lv_draw_sdl_bg.d" -MT"lvgl/src/draw/sdl/lv_draw_sdl_bg.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "lvgl/src/draw/sdl/lv_draw_sdl_bg.o"
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:524:34: error: 'DMA2D_OPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_OPFCCR_CM_Pos'?
524 | DMA2D->OPFCCR |= (RBS_BIT << DMA2D_OPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~
| DMA2D_OPFCCR_CM_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c: In function '_lv_draw_stm32_dma2d_copy_buffer':
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:550:35: error: 'DMA2D_FGPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_FGPFCCR_CS_Pos'?
550 | DMA2D->FGPFCCR |= (RBS_BIT << DMA2D_FGPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~~
| DMA2D_FGPFCCR_CS_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:559:34: error: 'DMA2D_OPFCCR_RBS_Pos' undeclared (first use in this function); did you mean 'DMA2D_OPFCCR_CM_Pos'?
559 | DMA2D->OPFCCR |= (RBS_BIT << DMA2D_OPFCCR_RBS_Pos);
| ^~~~~~~~~~~~~~~~~~~~
| DMA2D_OPFCCR_CM_Pos
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c: In function '_lv_gpu_stm32_dwt_get_us':
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:709:45: warning: implicit declaration of function 'HAL_RCC_GetHCLKFreq' [-Wimplicit-function-declaration]
709 | uint32_t us = (DWT->CYCCNT * 1000000) / HAL_RCC_GetHCLKFreq();
| ^~~~~~~~~~~~~~~~~~~
At top level:
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:714:28: warning: '_lv_gpu_stm32_dwt_reset' defined but not used [-Wunused-function]
714 | LV_STM32_DMA2D_STATIC void _lv_gpu_stm32_dwt_reset(void)
| ^~~~~~~~~~~~~~~~~~~~~~~
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:707:32: warning: '_lv_gpu_stm32_dwt_get_us' defined but not used [-Wunused-function]
707 | LV_STM32_DMA2D_STATIC uint32_t _lv_gpu_stm32_dwt_get_us(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:675:28: warning: '_lv_gpu_stm32_dwt_init' defined but not used [-Wunused-function]
675 | LV_STM32_DMA2D_STATIC bool _lv_gpu_stm32_dwt_init(void)
| ^~~~~~~~~~~~~~~~~~~~~~
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:615:28: warning: '_lv_gpu_stm32_dma2d_invalidate_cache' defined but not used [-Wunused-function]
615 | LV_STM32_DMA2D_STATIC void _lv_gpu_stm32_dma2d_invalidate_cache(uint32_t address, lv_coord_t offset, lv_coord_t width,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:538:28: warning: '_lv_draw_stm32_dma2d_copy_buffer' defined but not used [-Wunused-function]
538 | LV_STM32_DMA2D_STATIC void _lv_draw_stm32_dma2d_copy_buffer(const lv_color_t * dest_buf, lv_coord_t dest_stride,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:318:13: warning: 'lv_gpu_stm32_dma2d_wait_cb' defined but not used [-Wunused-function]
318 | static void lv_gpu_stm32_dma2d_wait_cb(lv_draw_ctx_t * draw_ctx)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c:279:17: warning: 'lv_draw_stm32_dma2d_img' defined but not used [-Wunused-function]
279 | static lv_res_t lv_draw_stm32_dma2d_img(lv_draw_ctx_t * draw_ctx, const lv_draw_img_dsc_t * img_dsc,
| ^~~~~~~~~~~~~~~~~~~~~~~
make: *** [lvgl/src/draw/stm32_dma2d/subdir.mk:19: lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.o] Error 1
make: *** Waiting for unfinished jobs....
"make -j4 all" terminated with exit code 2. Build might be incomplete.
I've changed every DMA2D_OPFCCR_RBS_Pos fro RBS to CM like DMA2D_OPFCCR_CM_Pos
now all errors gone but still has the same lag.
i don't know how two elf files combined together.
i am missing something?.
I've followed this guide https://forum.lvgl.io/t/how-to-configure-the-dma2d/3407/5 and added
but i've got this error.
do you have any idea how to implement dma2d?.