Dans le dernier article, nous avons présenté comment installer le logiciel TouchGFX. Ici, nous expliquons comment utiliser STM32CubeMX pour transplanter TouchGFX sur la carte de développement STM32 F429IGT6 et piloter l'écran RVB.
Comment transplanter un projet TouchGFX à l'aide de STM32CubeMX ?
Dans ce tutoriel, notre objectif est de porter le projet TouchGFX sur la carte de développement STM32.
Outils nécessaires
- Matériel
- Une carte mère/carte de développement basée sur le microcontrôleur STM32 : STM32F429IGT6 ;
- Un écran avec interface RVB, résolution recommandée : 800*480 ;
- ST-Link ou débogueur compatible ;
- Logiciel
- ARM Keil uVision5 (version utilisée dans cet article : V5.38.0.0) ;
- STM32 CubeMX (version utilisée dans cet article : 6.9.2) ;
- Logiciel TouchGFX Generator (version utilisée dans cet article : V4.22.1).
STM32CubeMX Configuration
STM32CubeMX est principalement utilisé pour configurer la couche d'abstraction matérielle et la couche middleware dans le schéma du cadre d'application de TouchGFX.
Commencer un nouveau projet :
Horloge système RCC : horloge externe haute vitesse (HSE) configurée comme un oscillateur à quartz externe.
Comme nous devons utiliser le système d'exploitation FreeRTOS, il est recommandé de changer la source de base de temps de la bibliothèque HAL de SysTick à d'autres minuteries. Après avoir sélectionné la minuterie, le système configurera automatiquement TIM, qui est réglé ici sur TIM7.
Paramètres FMC : configurez la SDRAM externe comme mémoire vidéo du RGBLCD, puis configurez les paramètres et les broches en fonction de votre matériel.
Paramètres DMA2D : activez DMA2D, configurez le mode couleur sur RGB565 et activez les interruptions DMA2D.
Réglages des paramètres LTDC : Configurez les paramètres LTDC en fonction des paramètres d'écran utilisés.
Paramètres de couche LTDC : choisissez ici d'utiliser la couche 1 et définissez l'adresse du tampon de trame sur la première adresse de la SDRAM 0XC0000000.
Paramètres des broches GPIO LTDC : configurez le GPIO en fonction des connexions des broches de la carte de développement spécifique. Notez que la vitesse de sortie doit être réglée sur « Très élevée » et que l'interruption LTDC doit être activée.
Configuration de l'arbre d'horloge : la taille de l'horloge pixel est de 1056*705*60/1024/1024=42M, la valeur maximale de l'horloge pixel est de 42M, ici elle est réglée sur 33M (1056 correspond à la largeur totale, 705 à la hauteur totale).
Paramètres des broches du rétroéclairage : la carte de développement présentée dans cet article utilise PB5 comme broche de rétroéclairage et est configurée en sortie push-pull.
Activer le CRC : TouchGFX doit activer la fonction CRC.
Activez le système FreeRTOS : définissez la taille du tas à 32768 octets et laissez les autres paramètres par défaut ; ajoutez une tâche TouchGFX.
Sélectionnez le package de composants Touchgfx.
Paramètres TouchGFX : sélectionnez le double tampon, RGB565, et activez l'accélération DMA2D.
Chef de projet : définition du nom du projet, de son emplacement et du lieur. (La taille minimale de la pile est définie sur 0X800.)
Générer le code du projet : une fois que STM32CubeMX a généré le projet, n'ouvrez pas le projet Keil. (Si vous compilez le projet Keil à ce stade, un grand nombre d'erreurs apparaîtront.)
Concepteur TouchGFX
Une fois le projet Keil généré, le code est généré avec succès sous :
E:/STM32 Project/STM32F429/TouchGFX FreeRTOS
Nous trouvons ce chemin. Le fichier ApplicationTemplate.touchgfx.part se trouve dans le répertoire TouchGFX. Cliquez pour ouvrir TouchGFX Designer afin de concevoir l'interface utilisateur.
Après avoir glissé-déposé certains contrôles et cliqué sur Générer le code pour générer le code, le code lié à TouchGFX sera automatiquement ajouté au projet.
MKD-ARM Compilation Keil
Ajouter les fichiers source et les fichiers d'en-tête du pilote SDRAM.
Ajoutez la fonction d'initialisation SDRAM dans la fonction MX_FMC_Init() du fichier fmc.c pour piloter la puce mémoire externe.
Activez le rétroéclairage de l'écran dans le fichier touchgfxhal.cpp.
Ajoutez la tâche correspondante et ajoutez la fonction de traitement TouchGFX.
Télécharger et tester
Une fois la compilation correcte, téléchargez-la sur la carte de développement.
Si TouchGFX est transplanté avec succès, l'écran de la carte de développement affichera l'interface conçue dans TouchGFX Designer.




