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/