Pour commencer – Conception d’une interface graphique Riverdi avec TouchGFX Designer

TouchGFX Designer est un concepteur et un simulateur avancé d’interface graphique pour PC pour les microcontrôleurs STM32 de ST Microelectronics. Il s’agit d’une solution prête à l’emploi pour concevoir une interface graphique étonnante.
TouchGFX dans cet exemple 4.20/1.10.1 est entièrement compatible et s’intègre parfaitement à tous les produits Riverdi basés sur le STM32H7.
Apprenez à créer une interface graphique pour votre écran Riverdi.
Tout d’abord, vous devez installer le logiciel et créer un nouveau projet :

1. Installer les dernières versions de TouchGFX, CubeIDE et Cube Programmer dans l’emplacement par défaut : disponible ici.

2. Démarrer TouchGFX Designer

3. Créez votre projet en cliquant sur « Créer nouveau »

4. Allez dans l’onglet « Par partenaires » pour choisir le projet compatible avec l’affichage Riverdi.

5. Sélectionnez le tableau Riverdi.

REMARQUE : il peut y avoir plus d’un modèle pour le même affichage Riverdi. Sélectionnez toujours la dernière version. Vérifiez les détails du modèle affichés sur le panneau de droite. (Dans ce cas, il s’agit de la version 2.0.1)

6. Cliquez sur « Créer »

Vous disposez à présent d’un canevas vide pour concevoir votre interface graphique. Vous pouvez placer des widgets en utilisant la fonction « glisser-déposer » du menu. Par exemple, des boutons, des curseurs, des barres de progression, des images.

Une fois que vous avez terminé la conception de votre interface graphique, vous devez.. :

1. Sauvegarder le projet.

2. Cliquez sur « Générer un code » dans le coin inférieur droit (ou appuyez sur F4).
ASTUCE : Vous pouvez vérifier à quoi ressemblera votre interface graphique sans connecter de matériel réel. Pour voir comment cela fonctionne, lancez le simulateur en cliquant sur le bouton « play » dans le coin inférieur droit (ou appuyez sur F5).

Lorsque vous êtes satisfait de votre projet, il est temps de le faire fonctionner sur votre écran :

1. Connecter le programmateur ST-Link au PC

2. Connecter le câble SWD à l’écran Riverdi

3. Confirmez que vous avez un fichier STM32H_IPS_QSPI_Loader_CM7.stldr en
C:\NProgram Files\NSTMicroelectronics\NSTM32Cube\NSTM32CubeProgrammer\NExternalLoader ou le chemin où vous avez installé CubeProgrammer.
Si ce n’est pas le cas, copiez-le à partir du projet généré dans le dossier \STM32CubeIDE\CM7\Stldr\ ou \gcc\.
Il s’agit d’un travail unique, il n’est donc pas nécessaire de l’écraser lorsque vous créez de nouveaux projets TGFX ou que vous modifiez des projets existants.

4. Brancher l’alimentation

5. Appuyez sur « Exécuter sur la cible » (ou appuyez sur F6).

TouchGFX Designer compilera le projet et créera le code binaire. Il téléchargera également automatiquement FW sur Riverdi Display. Une fois ce processus terminé, vous devriez avoir votre interface graphique fonctionnant sur la carte actuelle. Grâce à l’environnement WYSIWYG (What You See Is What You Get), il n’est pas nécessaire de connaître les langages de programmation ou la structure du matériel pour créer une interface graphique de qualité.
Besoin d’inspiration ? Il y a des démonstrations !
Consultez le projet de démonstration GUI de Riverdi (IoT Smart Home) :

1. Fichier -> Nouveau

2. Sélectionnez « Démos » dans les icônes de gauche.

3. Aller à « Démonstration spécifique au conseil d’administration »

4. Sélectionnez la dernière démo pour votre Riverdi Display

5. Cliquez sur « Créer »

6. S’amuser et voir comment cela fonctionne

7. Pour l’exécuter sur un écran matériel, cliquez sur « Générer le code » (ou appuyez sur F4).

8. Connectez votre écran

9. Cliquez sur « Exécuter sur la cible » (ou appuyez sur F6).

NOTE :

Les codes sources générés par TouchGFX Designer contiennent un fichier de projet IOC qui peut être ouvert avec CubeMX.

Malheureusement, pour l’instant, la re-génération directement à partir de CubeMX n’est pas entièrement prise en charge. Le projet IOC décrit le pinmux des GPIO et la manière dont ils sont connectés aux interfaces. Il indique également les propriétés des horloges et des périphériques.

Comment résoudre le blocage du STM32H7 dû à une mauvaise configuration ?

Aperçu du problème

Le problème est que le MCU est livré avec un convertisseur interne et un LDO. La conception du matériel n’est pas la même selon qu’il s’agit d’un SMPS ou d’un LDO. Sur nos cartes, il est sélectionné par les résistances R44, R45 et R46.

Par défaut, le LDO trim est activé, ce qui signifie que R44 et R46 ne sont pas montés, et que R45 est à 0R. Le processeur se bloque lui-même s’il s’initialise avec une configuration différente de celle du matériel.

Il empêche le processeur de s’autodétruire. Le SWD est alors également bloqué.

SOLUTION

Il y a trois façons de réinitialiser ce mode, choisissez l’une d’entre elles :

A) Entrez dans le mode de démarrage en effectuant les étapes suivantes :

    1. Couper l’alimentation
    2. Pads BOOT courts (voir l’image ci-dessous), vous pouvez utiliser une pince à épiler ou un fer à souder.
    3. Rétablir le courant
    4. Connecter le SWD et effectuer un effacement complet de la puce
    5. Couper l’alimentation
    6. Dénouer les tampons BOOT

Pour 10.1″ (R50)

Pour 7.0″ (R67)

B) Retirer la résistance R45 0R, souder R44 et R46 avec 0R. Ensuite, connectez le SWD, effacez le flash et remettez les résistances en place.

ou

C) Maintenir la réinitialisation du processeur et essayer de se connecter avant que le programme flash n’atteigne la configuration PWR. Il suffit de quelques dizaines de ms, donc il vous faudra peut-être quelques répétitions pour y parvenir. Connectez ensuite le SWD et effacez le flash.

NOTE :

N’oubliez pas de conserver la configuration d’alimentation par défaut de vos projets :

HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY) ;

NOTE :

Pour les versions plus anciennes de la carte de circuit imprimé, l’option A est différente

A) Entrez dans le mode de démarrage en effectuant les étapes suivantes :

    1. Couper l’alimentation
    2. Connecter les plots de soudure R65 et C134 (voir l’image ci-dessous)
    3. Rétablir le courant
    4. Connecter le SWD et nettoyer le flash
    5. Couper l’alimentation
    6. Déconnecter R65 et C134

Configuration de débogage pour CubeIDE
pour un projet avec des actifs dans le flash externe

Après avoir créé un projet dans TGFX et l’avoir importé dans l’IDE
Vous devez ouvrir la fenêtre de configuration du débogage

Menu Exécuter -> »Debug Configurations… »

Puis l’onglet « Débogueur
Section « Chargeur externe », cliquez sur « Ajouter »

Puis « Système de fichiers… »
et pointer vers le fichier de chargement.
Pour l’instant, vous devez spécifier manuellement le chemin d’accès complet. Dans le nouveau TBS, stldr sera ajouté au projet IDE de sorte qu’il sera accessible à partir de l’espace de travail et que vous n’aurez pas besoin de faire cette étape.

La case « Enabled » doit être cochée et la case « Initialize » décochée.

Cliquez sur OK
Puis appliquer et déboguer.