Optimal Resource UtilizationThe core of TouchGFX technology is an advanced algorithm that decodes what is showing on-screen and enables the GUI to only use resources to draw the graphics visible at any given time. In addition, TouchGFX includes rendering algorithms and new advanced drawing mechanisms, giving you:
- Higher GUI performance and smooth animations at a frame rate of 25 or more.
- Display-resolutions up to WSVGA: 1024×600.
- Low MCU load, typically ≤15%.
- Ultra-low power consumption.
Developer-Friendly FrameworkTouchGFX is structured to make your embedded GUI development simple and easily manageable. With automated developer-tools we have created an efficient framework that gives you the perfect platform for developing GUI applications in TouchGFX. The developer-friendly framework includes:
- Object-oriented extendable API.
- Automated build chains for generating elements, such as bitmaps and fonts.
- PC simulator for prototyping and easy debugging.
- Optional built-in scheme for efficient memory allocation.
- A standardized structure for integrating the GUI with the rest of the system.
|Design Features||Technical Features|
Modern GUI featuresTouchGFX enables transparency, alpha-blending, anti-aliased fonts and kerning, touch gestures, animations, screen transitions, high-resolutions displays, high frame rates, and much more.
Model-View-PresenterTouchGFX uses the widely acknowledged Model-View-Presenter architecture to structure your application.
Multiple Alphabet/Script SupportTouchGFX supports multiple alphabets and scripts, such as Latin, Cyrillic, Chinese, and Japanese. A converter turns translations into a memory-optimized internal format at compile time.
Static Memory AllocationThe default memory allocation scheme operates on the Model-View-Presenter architecture and uses static memory allocation only.
TrueType Font ConverterAn integrated font converter creates internal representation of any TrueType font. TouchGFX uses the font-specific kerning information to adjust character positions.
PC SimulatorA PC-based simulator running on Windows and Linux gives you an easy way to evaluate and analyze your application. You can also do non-target debugging.
Multiple Image Format SupportThe integrated image converter will convert 24-bit BMP and PNG images to the internal format. The process supports opaque, transparent, and semitransparent pixels in PNG images.
Multiple Compiler Support:TouchGFX comes with built-in support for a range of compilers for both the PC simulator and target application builds:
High Image QualityThe internal image format is represented in 16 bit color depth and uses advanced dithering algorithms to maximize performance and improve image quality.
Examples & Demos:TouchGFX includes a wide range of ready to compile and run examples and demos for both PC and targets. These applications come with full source code and are the perfect way to familiarize with key concepts of the TouchGFX framework.
Targeted Platforms & Resource RequirementsTouchGFX runs on a multitude of hardware platforms. Depending on exact parameters, such as display resolution, memory latency, and bandwidth, a natural fit is any Cortex-M based platform:
- Cortex-M0 MCUs at 24-48MHz for 320×240 QVGA displays.
- Cortex-M3 MCUs at 48-64MHz for 320×240 QVGA displays.
- Cortex-M3/M4 MCUs at 96-120MHz for 480×272 WQVGA displays.
- Cortex-M3/M4 MCUs at 120-204MHz for 800×480 WVGA displays.
- Cortex-M3/M4/M7 MCUs at 180-300MHz for 1024×768 XGA displays.
Read our Hardware Selection Guide here.
- Internal RAM:
- 10-20 KB (framework and stack).
- 1-15 KB (widgets).
- Internal ROM:
- 20 KB (framework).
- 1-100 KB (screen definitions, GUI logic).
- External RAM:
- Memory usage depends on the resolution of the display and the number of framebuffers.
- 320×240 QVGA displays with 2 framebuffers = 307 KB.
- 480×272 WQVGA displays with 2 framebuffers = 522 KB.
- 800×480 WVGA displays with 2 framebuffers = 1.5 MB.
- External Flash:
- Depends on the total size of the graphical elements, typically 1-8 MB.
- Operating System:
- OS independent. Can run with or without OS.
- With an OS, it requires a single task and two semaphores.