Eclipse / STM32 Cube IDE : conseils d'utilisation dans le cadre d'un projet STM32
(Ce document concerne l'outil STM32CubeIDE)
Workspace
L'environnement de développement STM32 Cube IDE est basé sur Eclipse. Il impose la création d'un 
workspace pour ouvrir des projets.
Le workspace est un répertoire qui contient des données temporaires redondantes (index) sur la structure de chaque projet
et les préférences de l'utilisateur, enregistrées de manière implicite.
Ces caractéristiques rendent parfois nécessaire de supprimer ce répertoire pour surmonter un incident, aussi il est recommandé
de placer les projets à l'extérieur de ce répertoire.
Pour 
référencer un projet dans le workspace courant, utiliser la commande :
File --> Open Projects from File System
Pour retirer cette référence, utiliser la commande
 Delete sur le projet, et vérifier que l'option
 Delete project contents on disk n'est pas activée.
N.B. Si on modifie la structure ou le nom d'un projet depuis l'extérieur d'Eclipse, il est recommandé de le retirer
du workspace puis de le référencer à nouveau pour que les index soient cohérents.
Ouvrir/Fermer un projet contenu dans le Workspace
L'ensemble des projets contenu dans le Workspace sont visibles dans le volet Explorateur Projet (Project Explorer), généralement visible sur la partie 
gauche de l'écran. Par défaut, les projets sont fermés. Pour ouvrir un projet, faites un clic droit au-dessus du nom du projet à ouvrir. Dans le menu déroulant qui apparait, 
sélectionnez 
 Open Project. L'arborescence projet apparaitra et les différents fichiers pourront être édités. La compilation et le debug concerneront le projet ouvert 
et sélectionné.
Pour refermer un projet, faites un clic droit au-dessus du nom du projet et sélectionnez 
Close Project dans le menu déroulant. 
Contenu d'un projet
Un projet Eclipse (dans le contexte de cet outil) est un répertoire qui contient au moins :
- le fichier .project (format XML)
- le fichier .cproject (format XML)
Contrairement aux autres IDE qui gèrent tous les fichiers source par référence explicite, Eclipse inclut dans la compilation
tous les fichiers source qui sont dans les sous-répertoires du projet, de manière implicite (
à la Java).
Il n'y a donc rien de particulier à faire lorqu'on introduit un fichier source local dans le projet.
Il est aussi possible de référencer des fichiers extérieurs (voir 
ci-dessous), cependant l'IDE ne montre pas toujours clairement la 
distinction entre les deux cas,   
en particulier la même commande 
 Delete  peut aussi bien retirer une référence
ou détruire irréversiblement un fichier.
N.B. Les fichiers 
.h ne sont pas référencés individuellement, vu qu'ils ne sont pas compilés sour leur nom propre mais seulement au travers
de directives d'inclusion.
Fichiers source partagés (bibliothèques)
Création d'un lien sur un fichier 
.c :
File -> New -> Other -> General -> File -> Advanced -> Link to file
Mise a jour des chemins (include paths) pour les fichiers 
.h :
Project -> Properties -> C/C++ General -> Paths and Symbols -> Includes -> GNU C
N.B. Il est parfois plus efficace de modifier directement les fichiers 
.cproject et 
.project avec un bon éditeur de texte
(tel que notepad++) ou le programme 
recube, mais dans ce cas il est recommandé de commencer par retirer le projet du workspace puis de le référencer
à nouveau pour que les index soient cohérents.
Nom d'un projet
Le nom du projet qui apparait dans le workspace n'est pas le nom du répertoire du projet, c'est celui qui est dans le fichier 
.project.
Si on crée un nouveau projet à partir d'une copie d'un projet existant, 
il faut penser à changer non seulement le nom du répertoire
mais aussi le nom du projet dans 
.project.
Copier-coller d'un projet existant dans le workspace
Comme évoqué avant, il est possible d'importer un projet existant dans le workspace à l'aide de la commande : File --> Open Projects from File System.
Dans le cas où l'on souhaite repartir d'un projet existant pour créer un nouveau projet, on peut importer le projet existant et en créer une copie. Pour cela, en se plaçant dans 
l'explorateur projet de l'IDE (volet 
Project Explorer), on effectue un clic droit au-dessus du projet à copier et on clique sur Copy dans le menu déroulant qui apparait. Il n'y 
a plus qu'à coller. Un écran vous demande le nom à donner au nouveau projet. On pourra ensuite ouvrir le projet à l'aide de la commande Open Project.
Ajout de fichiers existants dans un projet
Pour ajouter des fichiers existants (par exemple des fichiers .c/.h) dans un projet, depuis l'arborescence du projet apparaissant dans le 
Project Explorer, vous pouvez faire un clic-droit 
sur le répertoire projet dans lequel vous voulez insérer les fichiers existants. Cliquez sur 
Import. Une fenêtre s'ouvre : cliquez sur 
General puis 
File System. Cliquez 
sur Next et sélectionnez le répertoire dans lequel sont rangés les fichiers à ajouter (Browse). Une fois sélectionné, l'ensemble des fichiers sources (.c et .h) sont listés. Vous pouvez 
sélectionner ceux qui seront ajoutés à votre projet. Terminez en cliquant sur le bouton Finish.
Compilation
Si la commande 
Build ne répond pas, vérifier que le projet est sélectionné dans le Project Explorer.
Debug
Si la commande 
Debug ne répond pas, vérifier que le projet est sélectionné dans le Project Explorer.
Dans le cas de True Studio, le bouton rouge carré 
stop ne sert pas suspendre l'exécution du programme,
il met fin à la session de debug et provoque un retour à la perspectve de développement.
(Sous Eclipse, une 
perspective est la disposition des sous-fenêtres ou 
layout).
Sur un projet neuf, la commande Debug va d'abord ouvrir la fenêtre Debug Configurations, alors il faut choisir:
Embedded C/C++ Application -> STM32L476RG
onglet Debugger ->
  Debug probe : ST-LINK
  Interface : SWD
Préférences de l'utilisateur (ergonomie)
L'éditeur de texte intégré est équipé de nombreux gadgets (auto indentation, auto completion, etc...) extrêmemnt intrusifs.
Pour reprendre le contrôle de la situation :
Window -> Preferences -> C/C++ -> Editor -> Typing (enlever le superflu)
Window -> Preferences -> General -> Editors -> Text Editors -> Displayed tab width : 8
Ces parametres sont stockés dans le workspace, principalement dans le répertoire
.metadata/.plugins/org.eclipse.core.runtime/.settings/