Link copiato negli appunti!

Problema TouchGFX – controller video con doppio buffering

Cercando di creare un nuovo progetto in TouchGFX a volte si verifica il seguente errore:

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

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

Nel file incluso da CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:26:0:

CM7/TouchGFX/target/generated/DoubleBufferedVideoController.hpp:49:7: nota: poiché le seguenti funzioni virtuali sono pure all’interno di ‘DoubleBufferedVideoController<1, 1024, 600, 3072, (touchgfx::Bitmap::BitmapFormat)1>‘:

class DoubleBufferedVideoController : public touchgfx::VideoController

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

Nel file incluso da CM7/TouchGFX/target/generated/MJPEGDecoder.hpp:22:0,

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

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

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

virtual void setVideoFrameRateCompensation(bool allow) = 0;

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

gcc/makefile_cm7:503: ricetta per il target ‘CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o’ fallita

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

make[3]: Lascia la directory ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’.

gcc/makefile_cm7:438: ricetta per l’obiettivo ‘generate_assets’ fallita

make[2]: *** [generate_assets] Errore 2

make[2]: Lascia la directory ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’.

Makefile_cm7:51: ricetta per il target ‘all’ fallita

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

make[1]: Lascia la directory ‘C:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27/gcc’.

../../gcc/Makefile:10: ricetta per il target ‘flash’ fallita

make: *** [flash] Errore 2

Fallito

Fallito

Di seguito trovi una breve soluzione per risolvere il problema.

Il primo passo è aprire il file .ioc con STM32CubeIDE.

Middleware e pacchetti software -> TouchGFX -> TouchGFX generator

Il secondo passo è impostare il rendering vettoriale su Software (l’hardware darà lo stesso problema) e la decodifica video su hardware.