Im letzten Artikel haben wir Ihnen gezeigt, wie Sie die TouchGFX-Software installieren. Hier zeigen wir Ihnen, wie Sie TouchGFX mit STM32CubeMX auf das STM32-Entwicklungsboard F429IGT6 übertragen und den RGB-Bildschirm ansteuern können.
Wie kann man ein TouchGFX-Projekt mit STM32CubeMX übertragen?
In diesem Tutorial ist es unser Ziel, das TouchGFX-Projekt auf das STM32-Entwicklungsboard zu portieren.
Benötigte Werkzeuge
- Hardware
- Eine Kernplatine/Entwicklungsplatine auf Basis der STM32-MCU: STM32F429IGT6;
- Ein Display mit RGB-Schnittstelle, empfohlene Auflösung: 800*480;
- ST-Link oder kompatibler Debugger;
- Software
- ARM Keil uVision5 (in diesem Artikel verwendete Version: V5.38.0.0);
- STM32 CubeMX (in diesem Artikel verwendete Version: 6.9.2);
- TouchGFX Generator-Softwarepaket (in diesem Artikel verwendete Version: V4.22.1).
STM32CubeMX-Konfiguration
STM32CubeMX wird hauptsächlich zur Konfiguration der Hardware-Abstraktionsschicht und der Middleware-Schicht im Anwendungs-Framework-Diagramm von TouchGFX verwendet.
Neues Projekt starten:
RCC-Systemtakt: Hochgeschwindigkeits-Externer Takt (HSE), konfiguriert als externer Quarzoszillator.
Da wir das Betriebssystem FreeRTOS verwenden müssen, wird empfohlen, die Zeitbasisquelle der HAL-Bibliothek von SysTick auf andere Timer umzustellen. Nach Auswahl des Timers konfiguriert das System automatisch TIM, das hier auf TIM7 eingestellt ist.
FMC-Einstellungen: Konfigurieren Sie externes SDRAM als Videospeicher für RGBLCD und konfigurieren Sie Parameter und Pins entsprechend Ihrer eigenen Hardware.
DMA2D-Einstellungen: DMA2D aktivieren, den Farbmodus auf RGB565 konfigurieren und DMA2D-Interrupts aktivieren.
LTDC-Parametereinstellungen: Konfigurieren Sie die LTDC-Parameter entsprechend den verwendeten Bildschirmparametern.
LTDC-Layer-Einstellungen: Wählen Sie hier Layer 1 und setzen Sie die Frame-Buffer-Adresse auf die erste Adresse von SDRAM 0XC0000000.
LTDC-GPIO-Pin-Einstellungen: Konfigurieren Sie den GPIO entsprechend den Pin-Anschlüssen der jeweiligen Entwicklungsplatine. Beachten Sie, dass die Ausgabegeschwindigkeit auf „Sehr hoch“ eingestellt und der LTDC-Interrupt aktiviert sein sollte.
Taktbaumkonfiguration: Die Pixel-Taktgröße beträgt 1056*705*60/1024/1024=42M, der maximale Pixel-Taktwert beträgt 42M, hier ist er auf 33M eingestellt (1056 ist die Gesamtbreite, 705 ist die Gesamthöhe).
Einstellungen für den Backlight-Pin: Das in diesem Artikel verwendete Entwicklungsboard nutzt PB5 als Backlight-Pin und ist auf Push-Pull-Ausgabe eingestellt.
CRC aktivieren: TouchGFX muss die CRC-Funktion aktivieren.
Aktivieren Sie das FreeRTOS-System: Stellen Sie die Heap-Größe auf 32768 Byte ein und belassen Sie die übrigen Einstellungen auf den Standardwerten. Fügen Sie eine TouchGFX-Aufgabe hinzu.
Wählen Sie das Touchgfx-Komponentenpaket aus.
TouchGFX-Parametereinstellungen: Wählen Sie Doppelpufferung, RGB565 und aktivieren Sie die DMA2D-Beschleunigung.
Projektmanager: Festlegen des Projektnamens, des Projektstandorts und des Linkers. (Die minimale Stackgröße ist auf 0X800 festgelegt.)
Projektcode generieren: Nachdem STM32CubeMX das Projekt generiert hat, öffnen Sie das Keil-Projekt nicht. (Wenn Sie das Keil-Projekt zu diesem Zeitpunkt kompilieren, werden zahlreiche Fehler angezeigt.)
TouchGFX Designer
Nachdem das Keil-Projekt generiert wurde, wird der Code erfolgreich unter folgendem Pfad generiert:
E:/STM32 Project/STM32F429/TouchGFX FreeRTOS
Wir finden diesen Pfad. Im Verzeichnis „TouchGFX“ befindet sich die Datei „ApplicationTemplate.touchgfx.part“. Klicken Sie darauf, um TouchGFX Designer zu öffnen und die Benutzeroberfläche zu gestalten.
Nachdem Sie einige Steuerelemente per Drag & Drop verschoben und auf „Code generieren“ geklickt haben, um den Code zu generieren, wird der TouchGFX-bezogene Code automatisch zum Projekt hinzugefügt.
MKD-ARM Keil kompilieren
SDRAM-Treiber-Quelldateien und Header-Dateien hinzufügen.
Fügen Sie die SDRAM-Initialisierungsfunktion in die Funktion MX_FMC_Init() der Datei fmc.c ein, um den externen Speicherchip anzusteuern.
Aktivieren Sie die Hintergrundbeleuchtung des Bildschirms in der Datei touchgfxhal.cpp.
Fügen Sie die entsprechende Aufgabe hinzu und fügen Sie die TouchGFX-Verarbeitungsfunktion hinzu.
Herunterladen und Testen
Nachdem die Kompilierung korrekt ist, laden Sie sie auf das Entwicklungsboard herunter.
Wenn TouchGFX erfolgreich übertragen wurde, zeigt der Bildschirm des Entwicklungsboards die in TouchGFX Designer entworfene Benutzeroberfläche an.




