|
本帖最后由 44445545 于 2025-7-11 21:09 编辑
第一次移植LVGL-8.3.11版本,打开: #define LV_USE_GPU_DMA2D 1 编译后疯狂报错,但我看教程,STM32_DMA2D没有其他需要配置的地方,大神们救命,卡一天了  
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(285): error: #20: identifier "x" is undefined
lv_point_t offset = {x: area2->x1 - area1->x1, y: area2->y1 - area1->y1};
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(285): error: #67: expected a "}"
lv_point_t offset = {x: area2->x1 - area1->x1, y: area2->y1 - area1->y1};
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(285): error: #65: expected a ";"
lv_point_t offset = {x: area2->x1 - area1->x1, y: area2->y1 - area1->y1};
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(285): warning: #940-D: missing return statement at end of non-void function "lv_area_get_offset"
lv_point_t offset = {x: area2->x1 - area1->x1, y: area2->y1 - area1->y1};
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(285): warning: #177-D: variable "y" was declared but never referenced
lv_point_t offset = {x: area2->x1 - area1->x1, y: area2->y1 - area1->y1};
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(286): error: #169: expected a declaration
return offset;
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(287): error: #169: expected a declaration
}
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(313): warning: #12-D: parsing restarts here after previous syntax error
return UNSUPPORTED;
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(314): error: #169: expected a declaration
}
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(344): warning: #12-D: parsing restarts here after previous syntax error
lv_area_t draw_area;
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(345): error: #169: expected a declaration
if(!_lv_area_intersect(&draw_area, src_area, draw_ctx->clip_area)) return LV_RES_OK;
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(347): error: #59: function call is not allowed in a constant expression
lv_coord_t dest_stride = lv_area_get_width(draw_ctx->buf_area);
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(347): error: #20: identifier "draw_ctx" is undefined
lv_coord_t dest_stride = lv_area_get_width(draw_ctx->buf_area);
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(348): error: #59: function call is not allowed in a constant expression
lv_point_t src_offset = lv_area_get_offset(src_area, &draw_area); // source image offset in relation to draw_area
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(348): error: #20: identifier "src_area" is undefined
lv_point_t src_offset = lv_area_get_offset(src_area, &draw_area); // source image offset in relation to draw_area
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(348): error: #20: identifier "draw_area" is undefined
lv_point_t src_offset = lv_area_get_offset(src_area, &draw_area); // source image offset in relation to draw_area
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(349): error: #79: expected a type specifier
lv_area_move(&draw_area, -draw_ctx->buf_area->x1, -draw_ctx->buf_area->y1);
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(349): error: #79: expected a type specifier
lv_area_move(&draw_area, -draw_ctx->buf_area->x1, -draw_ctx->buf_area->y1);
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(349): error: #79: expected a type specifier
lv_area_move(&draw_area, -draw_ctx->buf_area->x1, -draw_ctx->buf_area->y1);
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(349): error: #260-D: explicit type is missing ("int" assumed)
lv_area_move(&draw_area, -draw_ctx->buf_area->x1, -draw_ctx->buf_area->y1);
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(349): error: #147: declaration is incompatible with "void lv_area_move(lv_area_t *, lv_coord_t, lv_coord_t)" (declared at line 169 of "..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\../../hal/../misc/lv_area.h")
lv_area_move(&draw_area, -draw_ctx->buf_area->x1, -draw_ctx->buf_area->y1);
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(350): error: #757: "draw_ctx" is not a type name
_lv_draw_stm32_dma2d_blend_map(draw_ctx->buf, dest_stride, &draw_area, img->data, img->header.w,
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(350): error: #18: expected a ")"
_lv_draw_stm32_dma2d_blend_map(draw_ctx->buf, dest_stride, &draw_area, img->data, img->header.w,
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(350): error: #260-D: explicit type is missing ("int" assumed)
_lv_draw_stm32_dma2d_blend_map(draw_ctx->buf, dest_stride, &draw_area, img->data, img->header.w,
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(350): error: #147: declaration is incompatible with "void _lv_draw_stm32_dma2d_blend_map(const lv_color_t *, lv_coord_t, const lv_area_t *, const void *, lv_coord_t, const lv_point_t *, lv_opa_t, dma2d_color_format_t, _Bool)" (declared at line 62)
_lv_draw_stm32_dma2d_blend_map(draw_ctx->buf, dest_stride, &draw_area, img->data, img->header.w,
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(352): error: #169: expected a declaration
return LV_RES_OK;
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(353): error: #169: expected a declaration
}
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(386): warning: #12-D: parsing restarts here after previous syntax error
DMA2D->OCOLR = color.full;
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(388): error: #169: expected a declaration
}
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(410): warning: #12-D: parsing restarts here after previous syntax error
DMA2D->BGCOLR = 0; // used in A4 and A8 modes only
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(411): error: #79: expected a type specifier
__lv_gpu_stm32_dma2d_clean_cache(DMA2D->BGMAR, DMA2D->BGOR, draw_width, draw_height, sizeof(lv_color_t));
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(411): error: #79: expected a type specifier
__lv_gpu_stm32_dma2d_clean_cache(DMA2D->BGMAR, DMA2D->BGOR, draw_width, draw_height, sizeof(lv_color_t));
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(411): error: #20: identifier "draw_width" is undefined
__lv_gpu_stm32_dma2d_clean_cache(DMA2D->BGMAR, DMA2D->BGOR, draw_width, draw_height, sizeof(lv_color_t));
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(411): error: #20: identifier "draw_height" is undefined
__lv_gpu_stm32_dma2d_clean_cache(DMA2D->BGMAR, DMA2D->BGOR, draw_width, draw_height, sizeof(lv_color_t));
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(411): error: #79: expected a type specifier
__lv_gpu_stm32_dma2d_clean_cache(DMA2D->BGMAR, DMA2D->BGOR, draw_width, draw_height, sizeof(lv_color_t));
..\..\Middlewares\LVGL\GUI\lvgl\src\draw\stm32_dma2d\lv_gpu_stm32_dma2d.c(411): error: #260-D: explicit type is missing ("int" assumed)
__lv_gpu_stm32_dma2d_clean_cache(DMA2D->BGMAR, DMA2D->BGOR, draw_width, draw_height, sizeof(lv_color_t));
|
-
|