TouchGFX issue – Double Buffered Video Controller

Trying to make a new project in TouchGFX sometimes occurs in below error:

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

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

        In file included from CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:26:0:

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

         class DoubleBufferedVideoController : public touchgfx::VideoController

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

        In file included from CM7/TouchGFX/target/generated/MJPEGDecoder.hpp:22:0,

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

                         from 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: recipe for target ‘CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o’ failed

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

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

        gcc/makefile_cm7:438: recipe for target ‘generate_assets’ failed

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

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

        Makefile_cm7:51: recipe for target ‘all’ failed

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

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

        ../../gcc/Makefile:10: recipe for target ‘flash’ failed

        make: *** [flash] Error 2

        Failed

    Failed

Below is the short solution on how to fix the above issue.

Figure 1. DoubleBufferedVideoController error #

First step is to open .ioc file with STM32CubeIDE.

Middleware and Software Packs -> TouchGFX -> TouchGFX generator

Figure 2. CubeIDE setting #

Second step is to set vector rendering to Software (hardware will give same issue) and video decoding to be hardware.

Figure 3. Problem solved screen #

By following these steps, the project should compile without any issue.

Go to Top