¡Enlace copiado en el portapapeles!

Problema TouchGFX – controlador de vídeo con doble búfer

Al intentar crear un nuevo proyecto en TouchGFX, a veces se produce el siguiente error:

DoubleBufferedVideoController<1, 1024, 600, 1024*3U, Bitmap::RGB888> videoController;

^~~~~~~~~~~~~~~

En el archivo incluido de CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:26:0:

CM7/TouchGFX/target/generated/DoubleBufferedVideoController.hpp:49:7: nota: debido a que las siguientes funciones virtuales son puras dentro de ‘DoubleBufferedVideoController<1, 1024, 600, 3072, (touchgfx::Bitmap::BitmapFormat)1>‘:

clase DoubleBufferedVideoController : public touchgfx::VideoController

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

En el archivo incluido de CM7/TouchGFX/target/generated/MJPEGDecoder.hpp:22:0,

de CM7/TouchGFX/target/generated/HardwareMJPEGDecoder.hpp:21,

de CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:25:

CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/VideoController.hpp:219:18: nota: virtual void touchgfx::VideoController::setVideoFrameRateCompensation(bool)

virtual void setVideoFrameRateCompensation(bool allow) = 0;

^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

gcc/makefile_cm7:503: falló la receta para el objetivo ‘CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o

make[3]: *** [CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL .o] Error 1

make[3]: Saliendo del directorio ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’

gcc/makefile_cm7:438: falló la receta para el objetivo ‘generate_assets

make[2]: *** [generate_assets] Error 2

make[2]: Saliendo del directorio ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’

Makefile_cm7:51: falló la receta para el objetivo «todos».

make[1]: *** [all] Error 2

make[1]: Abandonando el directorio ‘C:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27/gcc’.

../../gcc/Makefile:10: falla la receta para el objetivo ‘flash

make: *** [flash] Error 2

Fallido

Fallido

A continuación encontrarás una breve solución para solucionar el problema anterior.

El primer paso es abrir el archivo .ioc con STM32CubeIDE.

Packs de middleware y software -> TouchGFX -> Generador TouchGFX

El segundo paso es establecer el renderizado vectorial en Software (el hardware dará el mismo problema) y la decodificación de vídeo en hardware.