Nell’ultimo articolo, abbiamo introdotto come installare il software TouchGFX. Qui, introduciamo come utilizzare STM32CubeMX per trapiantare TouchGFX sulla scheda di sviluppo STM32 F429IGT6 e pilotare lo schermo RGB.
Come trapiantare un progetto TouchGFX utilizzando STM32CubeMX?
In questo tutorial, il nostro obiettivo è portare il progetto TouchGFX sulla scheda di sviluppo STM32.
Strumenti richiesti
- Hardware
- Una scheda core/di sviluppo basata su MCU STM32: STM32F429IGT6;
- Un display con interfaccia RGB, risoluzione consigliata: 800*480;
- ST-Link o debugger compatibile;
- Software
- ARM Keil uVision5 (versione utilizzata in questo articolo: V5.38.0.0);
- STM32 CubeMX (versione utilizzata in questo articolo: 6.9.2);
- Pacchetto software TouchGFX Generator (versione utilizzata in questo articolo: V4.22.1).
Configurazione STM32CubeMX
STM32CubeMX è utilizzato principalmente per configurare il livello di astrazione hardware e il livello middleware nel diagramma del framework dell’applicazione TouchGFX.
Avvia un nuovo progetto:
Sistema di clock RCC: clock esterno ad alta velocità (HSE) configurato come oscillatore a cristallo esterno.
Poiché dobbiamo utilizzare il sistema operativo FreeRTOS, si consiglia di modificare la sorgente Timebase della libreria HAL da SysTick ad altri timer. Dopo aver selezionato il timer, il sistema configurerà automaticamente TIM, che è impostato su TIM7 qui.
Impostazioni FMC: configura SDRAM esterna come memoria video di RGBLCD e configura parametri e pin in base al tuo hardware.
Impostazioni DMA2D: attiva DMA2D, configura la modalità colore su RGB565 e abilita le interruzioni DMA2D.
Impostazioni dei parametri LTDC: configura i parametri LTDC in base ai parametri dello schermo utilizzati.
Impostazioni del livello LTDC: scegli di utilizzare il livello 1 qui e imposta l’indirizzo del frame buffer sul primo indirizzo di SDRAM 0XC0000000.
Impostazioni dei pin GPIO LTDC: configura i GPIO in base alle connessioni dei pin della scheda di sviluppo specifica. Nota che la velocità di output deve essere impostata su “Very High”; e l’interruzione LTDC deve essere abilitata.
Configurazione dell’albero di clock: la dimensione del clock di pixel è 1056*705*60/1024/1024=42M, il valore massimo del clock di pixel è 42M, qui è impostato su 33M (1056 è la larghezza totale, 705 è l’altezza totale).
Impostazioni del pin della retroilluminazione: la scheda di sviluppo in questo articolo utilizza PB5 come pin della retroilluminazione ed è impostato su output push-pull.
Attiva CRC: TouchGFX deve abilitare la funzione CRC.
Attiva il sistema FreeRTOS: imposta la dimensione dell’heap su 32768 byte e il resto sulle configurazioni predefinite; e aggiungi un task TouchGFX.
Seleziona il pacchetto componenti Touchgfx.
Impostazioni dei parametri TouchGFX: seleziona il double buffering, RGB565 e attiva l’accelerazione DMA2D.
Project Manager: impostazione del nome del progetto, della posizione del progetto e del linker. (La dimensione minima dello stack è impostata su 0X800.)
Genera il codice del progetto: dopo che STM32CubeMX genera il progetto, non aprire il progetto Keil. (Se compili il progetto Keil in questo momento, apparirà un gran numero di errori.)
TouchGFX Designer
Dopo che il progetto Keil è stato generato, il codice è stato generato correttamente sotto:
E:/STM32 Project/STM32F429/TouchGFX FreeRTOS
Troviamo questo percorso. C’è ApplicationTemplate.touchgfx.part nella directory TouchGFX. Fai clic per aprire TouchGFX Designer per progettare l’UI.
Dopo aver trascinato e rilasciato alcuni controlli e aver cliccato su Genera codice per generare il codice, il codice relativo a TouchGFX verrà aggiunto automaticamente al progetto.
Compilazione MKD-ARM Keil
Aggiungere i file sorgente e i file di intestazione del driver SDRAM.
Aggiungere la funzione di inizializzazione SDRAM nella funzione MX_FMC_Init() del file fmc.c per pilotare il chip di memoria esterna.
Accendere la retroilluminazione dello schermo nel file touchgfxhal.cpp.
Aggiungere la task corrispondente e aggiungere la funzione di elaborazione TouchGFX.
Scarica e Testa
Dopo che la compilazione è corretta, scaricala sulla scheda di sviluppo.
Se TouchGFX è stato trapiantato correttamente, lo schermo della scheda di sviluppo visualizzerà l’interfaccia progettata in TouchGFX Designer.




