Vous êtes sur la page 1sur 13

Utilisation de MPLAB

1) Présentation. ...................................................................................................................1
2) Création d’un nouveau projet. .......................................................................................1
3) Ouverture d’un projet existant.......................................................................................5
4) Définition / Contrôle des bits de configuration. ...........................................................6
5) Utilisation de MPLAB......................................................................................................7
5.1) La barre d’outils de MPLAB. ..................................................................................................................... 7
5.2) Les fenêtres de MPLAB. ........................................................................................................................... 7
5.3) Les différentes étapes du développement................................................................................................ 9
5.3.1) Saisie du programme source – Assemblage / Compilation. .............................................................. 9
5.3.2) Mode « Débuggage »....................................................................................................................... 10
5.3.2.1) Connexion PC / ICD2 / Application............................................................................................ 10
5.3.2.2) Passage en mode « Débuggage ». ........................................................................................... 10
5.3.2.3) Etapes du mode « Débuggage »............................................................................................... 11
5.3.2.4) Affichage de Registres / Variables. ........................................................................................... 12
5.3.2.5) Utilisation de points d’arrêt. ....................................................................................................... 12
5.3.3) Programmation du microcontrôleur.................................................................................................. 13
6) Les fichiers indispensables. ........................................................................................13

1) Présentation.

Ce document décrit l’utilisation du logiciel MPLAB (dans sa version 6.61) en vue de développer un programme
pour microcontrôleur Microchip PIC, en assembleur ou en langage C avec le boîtier « ICD2 » (In Circuit Debugger).

Les différents points abordés sont :


• la création d’un nouveau projet
• l’ouverture d’un projet déjà existant
• la mise en œuvre du logiciel MPLAB
• description des différentes icônes et fenêtres du logiciel
• les différentes étapes du développement avec MPLAB
• utilisation des points d’arrêts et des variables

2) Création d’un nouveau projet.

Les différents fichiers nécessaires à MPLAB lors d’un développement pour microcontrôleur sont répertoriés dans
un projet. La première action à effectuer est donc la création d’un nouveau projet :

• Après avoir lancé MPLAB, choisir dans le


menu « Project » l’option « Project Wizard »

Philippe LECARDONNEL - GRANVILLE - 2004 - page 1


Utilisation de MPLAB

• L’assistant de création de projet s’affiche.

• Cliquer sur « Suivant ».

• La première étape consiste à indiquer la


référence du microcontrôleur qui sera utilisé.

• Cliquer ensuite sur « Suivant ».

• La seconde étape consiste à indiquer le


langage qui sera utilisé pour la
programmation. Dans certains cas, la liste
des différents langages n’est pas complète :
cocher alors la case « Show all installed
toolsuites »

• Pour une programmation en assembleur,


choisir pour la rubrique « Active Toolsuite »
le langage « Microchip MPASM Toolsuite ».

• Pour une programmation en langage C,


choisir pour la rubrique « Active Toolsuite »
le langage « CCS C Compiler for
PIC12/14/16/18 » (ne pas choisir la ligne
simple « CCS C Compiler »).

• Cliquer ensuite sur « Suivant ».

Philippe LECARDONNEL - GRANVILLE - 2004 - page 2


Utilisation de MPLAB

• La troisième étape consiste à indiquer le nom


du projet ainsi que son emplacement.

• Indiquer dans la case « Project Name » le


nom souhaité pour le projet.

• Spécifier dans la case « Project Directory »


en utilisant le bouton « Browse » pour
parcourir l’arborescence des répertoires, et
éventuellement créer un nouveau répertoire.

• Cliquer ensuite sur « Suivant ».

• La dernière étape permet éventuellement


d’ajouter au projet un fichier source existant
(en Assembleur – extension .ASM – ou en
langage C – extension .C). Dans le cas où
aucun fichier source existant n’est à
incorporer au projet, cliquer directement sur
« Suivant ».

• Pour ajouter un fichier source existant,


parcourir l’arborescence dans la fenêtre de
gauche, sélectionner le fichier désiré puis
cliquer sur le bouton « Add ». Cocher
ensuite la case située à gauche du nom
du fichier pour qu’il soit copié à partir de
son emplacement d’origine dans le
répertoire du projet

• Cliquer ensuite sur « Suivant ».

• L’assistant de création de projet affiche un


résumé de celui-ci : contrôler les différentes
informations présentées :
• Référence du microcontrôleur ;
• Outil utilisé en fonction du langage ;
• Répertoire du projet.

• Cliquer sur « Terminer » pour valider la


création du projet.

Philippe LECARDONNEL - GRANVILLE - 2004 - page 3


Utilisation de MPLAB

• MPLAB affiche dans une fenêtre le nom du


projet (d’extension .mcp : MicroChip Project)
Celui-ci mentionne éventuellement le nom du
fichier source spécifié à l’étape 4 précédente.
Un double clic sur celui-ci permet de l’ouvrir
en vue de l’éditer.

• Si aucun fichier existant n’a été incorporé au


projet à l’étape 4, choisir dans le menu
« File » l’option « New » ou cliquer sur l’icône

. Une fenêtre d’édition apparaît. Taper le


texte du programme source (en assembleur
ou en C) puis enregistrer le fichier dans le
même répertoire que celui du projet.

• Incorporer ce nouveau fichier source au


projet en choisissant l’option « Add Files »
dans le menu contextuel (obtenu par un clic
du bouton droit de la souris) de la rubrique
« Source Files ». Rechercher puis
sélectionner le fichier sauvegardé
précédemment.

MPLAB affiche, en plus de la fenêtre du projet, une fenêtre d’édition dans laquelle on peut aisément modifier le
programme source grâce à la coloration syntaxique.

Philippe LECARDONNEL - GRANVILLE - 2004 - page 4


Utilisation de MPLAB

3) Ouverture d’un projet existant.

• L’ouverture d’un projet existant (d’extension


.mcp) peut se faire en choisissant dans le
menu « Project » l’option « Open » ou en
cliquant sur l’icône verte « Open Project ».

• Une deuxième solution consiste à ouvrir le


« Workspace » (d’extension .mcw :
MicroChip Workspace) associé au projet en
choisissant dans le menu « File » l’option
« Open Workspace ».

• La troisième possibilité permettant l’ouverture


d’un projet existant est réalisable en
choisissant dans le menu « File » l’option
« Recent Workspace » puis en sélectionnant
l’un des derniers projets ouverts.

Philippe LECARDONNEL - GRANVILLE - 2004 - page 5


Utilisation de MPLAB

4) Définition / Contrôle des bits de configuration.

Les microcontrôleurs PIC disposent d’un registre de configuration « Word Configuration » situé à l’adresse 0x2007.
La configuration de celui-ci s’effectue via MPLAB.
Pour le configurer, sélectionner dans le menu « Configure » l’option « Configuration bits ». La fenêtre ci-dessous
s’affiche :

Détails des bits de configuration :

Nom du bit (« Category ») Valeur (« Setting »)


Oscillator HS Fréquence du quartz > 8 MHz.
XT 200 kHz < Fréquence du quartz < 8 Mhz.
LP Fréquence du quartz < 200 kHz.
RC Réseau RC.
Watchdog Timer En général sur « Off »
(Activation du chien de garde).
Power Up Timer. En général sur « Off »
Rajoute un délai de 72 mS.
Brown Out Detect. En général sur « Off »
Low Voltage Program Toujours sur « Disabled » avec l’ICD2.
Flash Program Write Toujours sur « Enabled ».
Active la programmation de la mémoire
programme.
Data EE Read Protect En général sur « Off »
Empêche la lecture de la mémoire
EEPROM du PIC.
Code Protect En général sur « Off »
Activation de la protection du code
programme.

Une fois les différents bits définis correctement, fermer cette fenêtre en cliquant sur la croix en haut à droite.

Philippe LECARDONNEL - GRANVILLE - 2004 - page 6


Utilisation de MPLAB

5) Utilisation de MPLAB.
5.1) La barre d’outils de MPLAB.
Les différentes icônes disponibles dans la barre d’outils de MPLAB sont définies ci-dessous.

Remarque : en fonction du mode de fonctionnement choisi (mode simple, mode « Débuggage », mode
programmation), les icônes de la partie droite ne sont pas les mêmes. La barre d’outils représentée ici correspond
au mode « Débuggage ».

Exécuter le Reset
Nouveau Imprimer programme
Programmer
Ouvrir le micro-
Arrêter le
Nouveau programme contrôleur
Enregistrer

Ouvrir Options Exécuter le


Porte sur un programme Lire le
fichier source avec micro-
Enregistrer
animation
Copier Chercher
Porte sur un Reset +
projet Compiler Reconnexion
Couper Coller le projet ICD2

Porte sur une partie


Aide Générale Aide du Modes pas
de texte dans le
de MPLAB Compilateur à pas
fichier source

Chercher du texte dans Actions disponibles en


l’ensemble des fichiers mode « Débuggage »
source du projet

5.2) Les fenêtres de MPLAB.


En plus de ces différentes icônes, plusieurs fenêtres peuvent être affichées :

• les fenêtres qu’il est indispensable d’avoir en permanence ouvertes :


- projet en cours (il est impossible de la fermer)
- fichier(s) source(s) du projet : un double clic sur le nom du fichier source dans le gestionnaire de projet
permet de rouvrir celui-ci.
- Fenêtre de « Sortie » (« Output ») : les différents onglets permettent d’afficher :
• les résultats de la compilation (onglet « Build »)
• l’état de la communication entre le boîtier ICD2 et l’application cible (onglet « MPLAB ICD2 »)
• le résultat de la recherche dans tous les fichiers source du projet (onglet « Find in files »)
Dans le cas où cette fenêtre a été fermée, cocher dans le menu « View » l’option « Output »

Philippe LECARDONNEL - GRANVILLE - 2004 - page 7


Utilisation de MPLAB

• certaines fenêtres qu’il est utile d’afficher dans certains cas :


- « Watch » : permet d’afficher le contenu de registres du microcontrôleur ou de variables (choisir dans
le menu « View » l’option « Watch »)
- « Special Fonction Registers » : permet d’afficher le contenu des registres particuliers du
microcontrôleur (choisir dans le menu « View » l’option « Special Fonction Registers »)
- « File Registers » : permet d’afficher le contenu des registres particuliers du microcontrôleur (choisir
dans le menu « View » l’option « File Registers »)
- « Disassembly listing » : permet d’afficher le listing du programme en assembleur à la suite de la
compilation, associé au code objet généré (choisir dans le menu « View » l’option « Disassembly
listing »)

Philippe LECARDONNEL - GRANVILLE - 2004 - page 8


Utilisation de MPLAB

5.3) Les différentes étapes du développement.


Pour développer une application destinée à être exécutée par un microcontrôleur PIC, les différentes étapes sont
les suivantes :

• avec le logiciel MPLAB seul :


- saisie du programme source (en assembleur ou en langage C) grâce à l’éditeur de texte de MPLAB ;
- assemblage ou compilation du programme source ;
• avec le logiciel MPLAB associé à l’outil de développement ICD2 :
- « débuggage » du programme, c’est-à-dire recherche et correction des erreurs de programmation;
- programmation du microcontrôleur cible pour obtenir un fonctionnement autonome de la carte
électronique en cours de développement.

5.3.1) Saisie du programme source – Assemblage / Compilation.


L’éditeur de texte de MPLAB permet, grâce à la coloration syntaxique, d’écrire le programme source aussi bien en
assembleur qu’en langage C.
La traduction du programme source en code objet s’effectue grâce à l’icône « Build» .

Il est impératif d’observer le résultat de la compilation dans l’onglet « Build » de la fenêtre « Output » :
• Un message d’erreur (« Error ») nécessite obligatoirement une modification du programme source, la
compilation n’étant pas complète. Pour corriger l’erreur, un double clic sur le message d’erreur de la
fenêtre « Ouput » permet d’arriver directement sur la ligne du programme source comportant l’erreur.
• Un message d’avertissement (« Warning ») doit être examiné avec soin : dans certains cas, il s’agit d’un
oubli ou d’une erreur dans le programme source. Cependant, un programme destiné à être exécuté par un
microcontrôleur comporte systématiquement une boucle infinie qui sera signalée par un message
d’avertissement.
Le Message « BUILD SUCCEEDED » indique une compilation réussie (comportant éventuellement des
avertissements).

Philippe LECARDONNEL - GRANVILLE - 2004 - page 9


Utilisation de MPLAB

5.3.2) Mode « Débuggage ».


Pour détecter d’éventuelles erreurs de programmation, il est nécessaire de faire exécuter le programme par le
microcontrôleur en mode « débuggage ». Ce mode permet les différentes actions suivantes :
• exécution en pas à pas ;
• exécution fonction par fonction ;
• exécution en continu ;
• exécution continue jusqu’à une certaine ligne du programme source (« point d’arrêt »);
• affichage du contenu de registres du microcontrôleur et/ou variables (valeurs actualisées à chaque
arrêt du programme).

5.3.2.1) Connexion PC / ICD2 / Application.

Auparavant, le boîtier ICD2 doit être raccordé,


d’une part à l’ordinateur via le bus USB et d’autre
part à l’application cible comportant le
microcontrôleur à programmer.

Le boîtier ICD2 doit être relié au PC en


premier lieu

Ensuite, raccorder le boîtier ICD2 à l’application


cible.

Terminer en alimentant l’application cible.

Le non respect de l’ordre de connexion peut


entraîner la destruction du boîtier ICD2.

5.3.2.2) Passage en mode « Débuggage ».

Pour bénéficier du mode de fonctionnement


« Débuggage », choisir dans le menu
« Debugger » l’option « Select Tool » puis
« MPLAB ICD 2 ».

Les principales icônes utilisées pour le « débuggage » apparaissent :

Compile le
programme Connexion
avec l’ICD2

Lance le Arrête le Pas à Pas Pas à Pas Reset du Programme le


programme programme (instruction par (fonction par micro- micro-
instruction) fonction) contrôleur contrôleur

Philippe LECARDONNEL - GRANVILLE - 2004 - page 10


Utilisation de MPLAB

5.3.2.3) Etapes du mode « Débuggage ».

La procédure habituelle est la suivante :


• établir la connexion avec le boîtier ICD2 : icône « Reset and Connect to ICD » ;
Une connexion correcte avec l’ICD2 est signalée dans la fenêtre « Output » :

La signification des messages d’erreurs éventuellement visibles dans l’onglet « MPLAB ICD 2 » de la
fenêtre « Output » est :

- « ICD0019: Failed to open communications: (Failcode = 0x2)


« ICD0021: Unable to connect with MPLAB ICD 2» : la communication avec l’ICD2 est impossible ;

- « ICDWarn0020: Invalid target device id (expected=0x4D, read=0x0) » : la communication avec


l’application cible est impossible (erreur ou absence de liaison) ;

• lancer la compilation (ou l’assemblage) du programme source après chaque modification de celui-ci :
icône « Build » ;

• programmer le microcontrôleur cible : icône « Program Target Device » ;

• exécuter le programme soit en continu (icône « Run ») soit en modes pas à pas (icônes « Step Into »,
« Step Over » ou « Step Out ») ;

• après un lancement en continu du programme, l’arrêt de celui-ci s’effectue grâce à l’icône « Halt »,
suivi éventuellement d’un « Reset ».

La flèche verte indique la prochaine instruction qui sera exécutée.

Philippe LECARDONNEL - GRANVILLE - 2004 - page 11


Utilisation de MPLAB

5.3.2.4) Affichage de Registres / Variables.

L’observation du contenu de certains registres du microcontrôleur ainsi que des variables facilite la mise au point.
L’affichage de la fenêtre s’effectue en choisissant dans le menu « View » l’option « Watch ».

Choisir le nom d’un registre du Choisir le nom d’une


microcontrôleur puis cliquer sur variable puis cliquer sur
« Add SFR » « Add Symbol »

Les valeurs des registres et/ou variables s’affichent en hexadécimal ainsi qu’en décimal à chaque arrêt du
programme (arrêt manuel, pas à pas ou point d’arrêt). Un clic du bouton droit sur l’en-tête de colonne permet aussi
de visualiser les valeurs en binaire ainsi que les caractères.

Remarque : il est possible de définir j’usqu’à 4 ensembles de variables/registres pouvant être affichés dans l’un
des 4 onglets de la fenêtre « Watch ».

5.3.2.5) Utilisation de points d’arrêt.

L’exécution du programme en continu ne permet pas toujours de détecter l’origine d’un fonctionnement incorrect.
Les modes pas à pas ou fonction par fonction sont parfois d’une mise en œuvre laborieuse.
Il peut alors être judicieux d’utiliser les points d’arrêts : une ligne du programme source est affectée d’un marqueur
qui déclenchera l’arrêt du programme lorsque le microcontrôleur exécutera l’instruction correspondante.

La définition et la suppression des points d’arrêts


est réalisée par un double clic sur la ligne
souhaitée, ou en choisissant lors d’un clic droit
sur celle-ci l’option « Set Breakpoint » ou
« Remove Breakpoint ».
La suppression de tous les points d’arrêts
s‘effectue en choisissant lors d’un clic droit dans
la fenêtre d’édition l’option « Breakpoints » puis
« Remove All Breakpoints ».

Remarque : à un instant donné, un seul point


d’arrêt est actif (« Enable »), les éventuels autres
points d’arrêts sont provisoirement désactivés
(« Disable »).

Point d’arrêt désactivé

Point d’arrêt actif

Suppression / Activation du 1er point d’arrêt

Philippe LECARDONNEL - GRANVILLE - 2004 - page 12


Utilisation de MPLAB

5.3.3) Programmation du microcontrôleur.

Pour effectuer la programmation du


microcontrôleur afin qu’il fonctionne de façon
autonome sur l’application cible, choisir dans le
menu « Programmer » l’option « Select
Programmer » puis « MPLAB ICD 2 ».

Les icônes présentes dan la partie droite de l’écran pour le mode « Débuggage » sont remplacées par une autre
série.
Les 2 principales icônes à utiliser sont, dans un premier temps celle de connexion avec l’ICD2, puis dans un
second temps, celle de programmation du microcontrôleur cible.

Programmer le Connexion
microcontrôleur avec l’ICD2

En cas de succès, la fenêtre « Output » affiche les messages suivants :

Après la programmation, il est indispensable de déconnecter le boîtier ICD2 de l’application cible : celle-ci devient
autonome.

6) Les fichiers indispensables.

Lors d’une session de travail avec MPLAB, de nombreux fichiers sont générés. Seuls certains d’entre eux méritent
d’être sauvegardés :
• NomFichier.c ou NomFichier.asm : fichiers source en langage C ou assembleur : sauvegarde primordiale
• NomProjet.mcp : définition du projet de MPLAB : sauvegarde souhaitable
• NomProjet.mcw : définition de l’espace de travail (Workspace) de MPLAB : sauvegarde souhaitable
Les autres fichiers de nom générique identique au nom du projet et d’extension .$$$, .cof, .err, .HEX, .LST, .mcs,
.PJT, .SYM, .tre ne sont pas indispensables : ils seront recréés lors d’une nouvelle session de travail.

Philippe LECARDONNEL - GRANVILLE - 2004 - page 13