- TouchGFX Designer:An easy-to-use GUI builder for TouchGFX that allows you to create the visual appearance of a TouchGFX application.
- TouchGFX Generator:An STM32CubeMX plug-in that enables users to configure and generate a customized TouchGFX abstraction layer (AL) based on the STM32 hardware.
- TouchGFX Engine:A TouchGFX C++ framework for driving UI applications that handles screen updates, user events, timing, and more. Advanced TouchGFX technology is optimized for STM32 microcontrollers, delivering optimal performance with minimal CPU load and memory usage.
TouchGFX Key Features
TouchGFX provides support for
- DPI (parallel RGB), DBI (FMC/SPI), and DSI display interfaces
- 1bpp, 2bpp, 4bpp, 16bpp and 24bpp color displays
Preparatory work – Installation and Configuration
As we are using H750, we will need an external plugin for the flash part, so the initial configuration will be relatively complex. Here, we will directly focus on the memory configuration and provide detailed instructions.
Install TouchGFX via CubeMX.
Setting MPU(memory protection unit)
Add the TouchGFXLibrary project.
Configure TouchGFX parameters.
- Both Start Address and Start2 Address require a frame buffer.
- 480x272x2(RBG565) = 0x3FC00
Setting up CubeIDE and adding Heap Stack
Since the program mainly runs on ExternalFlash, the interrupt vector table needs to be offset.
Modify the CubeIDEFLASH.ld file.
Executing the program on external flash.
Please note that BootCodeJamp must be burned to APP Code first.
• The Clock configuration of BootCode and APPCode should be the same, otherwise the program will not run