Lien copié dans le presse-papiers !

Problème TouchGFX – contrôleur vidéo à double tampon

En essayant de créer un nouveau projet dans TouchGFX, vous obtenez parfois l’erreur suivante :

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

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

Dans le fichier inclus dans CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:26:0 :

CM7/TouchGFX/target/generated/DoubleBufferedVideoController.hpp:49:7 : note : because following virtual functions are pure within ‘DoubleBufferedVideoController<1, 1024, 600, 3072, (touchgfx::Bitmap::BitmapFormat)1>‘ :

class DoubleBufferedVideoController : public touchgfx::VideoController

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

Dans le fichier inclus dans CM7/TouchGFX/target/generated/MJPEGDecoder.hpp:22:0,

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

à partir de 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 : échec de la recette pour la cible ‘CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o’.

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

make[3] : quitte le répertoire ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’

gcc/makefile_cm7:438 : la recette pour la cible ‘generate_assets’ a échoué

make[2] : *** [generate_assets] Erreur 2

make[2] : quitte le répertoire ‘c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27’

Makefile_cm7:51 : échec de la recette pour la cible ‘all’.

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

make[1] : quitte le répertoire ‘C:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27/gcc’

../../gcc/Makefile:10 : échec de la recette pour la cible ‘flash’.

make : *** [flash] Erreur 2

Échec

Échec

Vous trouverez ci-dessous une solution succincte pour résoudre ce problème.

La première étape consiste à ouvrir le fichier .ioc avec STM32CubeIDE.

Middleware et Software Packs -> TouchGFX -> TouchGFX generator

La deuxième étape consiste à régler le rendu vectoriel sur Software (le hardware donnera le même problème) et le décodage vidéo sur hardware.