Link in die Zwischenablage kopiert!

TouchGFX Problem – doppelt gepufferter Video-Controller

Wenn Sie versuchen, ein neues Projekt in TouchGFX zu erstellen, tritt manchmal der folgende Fehler auf:

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

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

In der Datei aus CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:26:0:

CM7/TouchGFX/target/generated/DoubleBufferedVideoController.hpp:49:7: Hinweis: weil die folgenden virtuellen Funktionen rein innerhalb von ‚DoubleBufferedVideoController<1, 1024, 600, 3072, (touchgfx::Bitmap::BitmapFormat)1>‚ sind:

class DoubleBufferedVideoController : public touchgfx::VideoController

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

In der Datei aus CM7/TouchGFX/target/generated/MJPEGDecoder.hpp:22:0,

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

aus 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: Rezept für Ziel ‚CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o‘ fehlgeschlagen

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

make[3]: Verlassen des Verzeichnisses ‚c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27‘.

gcc/makefile_cm7:438: Rezept für Ziel ‚generate_assets‘ fehlgeschlagen

make[2]: *** [generate_assets] Fehler 2

make[2]: Verlassen des Verzeichnisses ‚c:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27‘.

Makefile_cm7:51: Rezept für Ziel ‚all‘ fehlgeschlagen

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

make[1]: Verlassen des Verzeichnisses ‚C:/Users/cliff/Dropbox/microTOC/MicroTOCDisplayDesign/MyApplication27/gcc‘.

../../gcc/Makefile:10: Rezept für Ziel ‚flash‘ fehlgeschlagen

make: *** [flash] Fehler 2

Gescheitert

Gescheitert

Nachfolgend finden Sie eine kurze Lösung, wie Sie das obige Problem beheben können.

Der erste Schritt besteht darin, die .ioc-Datei mit STM32CubeIDE zu öffnen.

Middleware und Softwarepakete -> TouchGFX -> TouchGFX-Generator

Der zweite Schritt besteht darin, das Vektor-Rendering auf Software (Hardware führt zu demselben Problem) und die Videodekodierung auf Hardware zu setzen.