MPLAB X/Créer un Projet

De Wiki_du_Réseau_des_Electroniciens_du_CNRS
Aller à la navigationAller à la recherche



Retrouvez également une présentation similaire sur microchip.wikidot.com: "Get Started with MPLAB X IDE and Microchip Tools" → create "stand-alone" projects

Cette présentation vous permettra de suivre toutes les étapes de la mise en place d'un projet sur le SVN du RdE, afin que vous puissiez être totalement autonome dans la prise en main des outils.

Les captures d'écran ont été réalisées avec la versions 2.00 de MPLAB® X, mais vous pouvez suivre sans problème ce tutoriel avec la dernière version de l'environnement et/ou du compilateur. Voir la page Actualités du wiki où vous retrouverez les liens de téléchargement des dernières versions.


Création du Projet

  • Tout d'abord lancez l'environnement MPLAB® X IDE, puis l'assistant (Wizard) pour la création d'un nouveau projet "New Project..."
  • Choisissez "Standalone Project"
  • Sélectionnez la référence du microcontrôleur à programmer
  • Sélectionnez l'outil vous permettant de programmer et/ou débugger
  • Sélectionnez le compilateur adéquat à la famille du MCU
  • Nommez le nom du projet "MPLAB", celui-ci sera modifié ultérieurement. Le nom du dossier dans votre répertoire de travail doit apparaître sous le nom "MPLAB.X", c'est là que l'environnement sauvegardera l'ensemble des fichiers qu'il créera pour le projet:
  • Ajoutez un fichier depuis le menu contextuel
  • Puis donnez-lui un nom, comme nous avons choisi un fichier de type "C Main File...", nous le nommerons "_main_PulseGenerator_v01r00.c"

Dès à présent vous pouvez tester votre projet en lançant la compilation, le message "BUILD SUCCESSFUL" doit apparaître dans la fenêtre "Output" ;-)


Configuration du projet et ajout de fichier

  • Tout d'abord nous allons modifier le nom du projet en "Projet_Pulse_Generator_v01"
  • Ajout de fichier au projet

Nous allons prendre pour exemple l'ajout des fichiers "HWP_xxx.h" qui permettent de regrouper la configuration des bits de config du MCU, ainsi que toutes les définitions des cartes utilisées.

Pour cela, récupérez les fichiers existants dans les ressources du SVN du RdE:

..\Groupe_PIC\_Ressource\Configs\ copiez → "HWP_PIC32_CHIPKIT_MAX32.h" + "HWP_PIC32_CHIPKIT_PRO_MX7.h"

puis collez-les dans le dossier "Configs" que vous aurez créé dans le répertoire "Firmware" de votre projet.


  • Dans MPLAB X, vous pouvez si vous le souhaitez créer des dossiers logiques pour structurer votre projet.
→ voir les recommandations sur la page Premiers pas

Faites un clic droit par exemple sur "Header Files" puis "New Logical Folder", puis renommez le en "HW Configs"

  • Ajoutez maintenant le fichier par un clic droit sur le dossier "HW Configs", puis "Add Existing Item..."
  • Créez un fichier "HardwareProfile.h" dans lequel sera placé les "include" vers les fichiers des différentes cartes utilisées dans votre projet, par exemple

"HWP_PIC32_CHIPKIT_MAX32.h" et "HWP_PIC32_CHIPKIT_PRO_MX7.h"


A ce stade la compilation ne fonctionnera pas, il vous faut définir les macros "CFG_INCLUDE_PIC32_CHIPKIT_MAX32" et "CFG_INCLUDE_PIC32_CHIPKIT_PRO_MX7" dans les propriétés du projet. Cela vous permettra par la suite de sélectionner simplement la carte sur laquelle sera embarqué le firmware.

  • Nous allons commencer par ajouter "CFG_INCLUDE_PIC32_CHIPKIT_MAX32" dans le champ "Preprocessor macros" de "xc32-gcc > Option categories: Preprocessing and messages" (Réf: Configuration de Projet)
  • Puis tant que nous y sommes, nous allons également définir les chemins permettant au compilateur de rechercher des fichiers “include” de notre projet:
"..;../Configs;../../../../_Librairie;../../../../_Librairie/Microchip/Include"

Le nombre de "../../../../" correspondant au nombre de déplacement relatif entre le dossier "MPLAB.X" et le dossier "Groupe_PIC".

A présent nous allons nommer les 2 configurations de projet:

  • cliquez sur "Manage Configurations..."
  • puis sur "Rename" afin de renommer la config par défaut en "XC32-PIC32_CHIPKIT_MAX32_BOARD"
  • cliquez sur "Duplicate" afin de copier l'ensemble des propriétés de cette config
  • puis sur "Rename" afin de renommer la 2ème config en "XC32-PIC32_CHIPKIT_PRO_MX7_BOARD"
  • et enfin cliquez sur "OK" pour terminer
  • Pour terminer le paramétrage du 2ème projet, il convient de modifier la macro dans le champ "Preprocessor macros" en "CFG_INCLUDE_PIC32_CHIPKIT_PRO_MX7"
  • La compilation devrait maintenant donner le résultat "BUILD SUCCESSFUL" ;-)

En option, nous pouvons exclure de la compilation de chacun des projets les fichiers non utilisés:

  • clic droit sur le nom du fichier devant être exclu, puis sur "Properties"
  • pour le fichier "HWP_PIC32_CHIPKIT_MAX32.h", sélectionnez le projet "XC32-PIC32_CHIPKIT_PRO_MX7_BOARD", puis cliquez sur "Exclude from build"
  • de même pour le fichier "HWP_PIC32_CHIPKIT_PRO_MX7.h", sélectionnez le projet "XC32-PIC32_CHIPKIT_MAX32_BOARD", puis cliquez sur "Exclude from build"

A présent vous pouvez changer de configuration de projet et voir de manière dynamique se modifier l'ensemble du projet :

Ajoutons maintenant un fichier du dossier "..\Groupe_PIC\_Librairie" pour rajouter une routine de temporisation :

  • ajouter dans les dossiers "Header Files" et "Source Files" de la fenêtre "Projects" (clic droit + "Add Existing Item...") les fichiers "Delays_v01r00.h" et "Delays_v01r00.c" du répertoire du même nom
  • vous pouvez ensuite taper le début du nom d'une fonction, par exemple "del", puis via le menu de complétion du code ([Ctrl]+[Esp]), sélectionnez DelayMs

Il ne reste plus qu'à compiler le projet pour la carte voulue :

puis à charger le firmware sur la carte cible :


Partage du projet sur le SVN

enfin, si vous souhaitez partager ce projet sur le SVN du RdE:

  • commencez par faire un "SVN Update" de votre répertoire
  • ajoutez l'ensemble du projet par un clic droit, puis "TortoiseSVN > Add..."
  • à l'exception les répertoires "build" et "dist" que vous décocherez
  • vous n'avez plus cas transférer le contenu de votre copie au serveur du RdE en utilisant la commande "SVN Commit...", en n'oubliant pas de rajouter un commentaire


=== Le groupe PIC ===
Présentation du Groupe de Travail   >Premiers pas  >Document   >Tutoriel   >Librairie   >Demo   >Projet   >TODO