Prise en main de MPLAB

Transcription

Prise en main de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
GUIDE D'UTILISATION de MPLAB 8.0
1. Présentation ......................................................................................................
................1
2. Création d'un nouveau projet ..........................................................................
.................2
3. Ecriture d'un programme et configuration du projet ........................................................5
4. Réglage des bits de configuration .....................................................................
...............6
5. Construction du projet ..............................................................................................
........7
6. Mise au point de l'application ...............................................................
...........................8
6.1 Utilisation du simulateur ....................................................................
...............8
6.3 Exécution du programme ................................................................
...................9
6.3 Visualisation des résultats ...................................................................
...............9
6.4 Utilisation des points d'arrêt ..........................................................................
.....10
6.5 Utilisation du mode « Trace » ...................................................................
.........10
6.6 Utilisation du debugger ICD2 ...........................................................................12
6.7 Programmation du microcontrôleur ...................................................................14
7. Les fichiers indispensables .......................................................................................
........14
1. Présentation
Ce document décrit l’utilisation du logiciel MPLAB (dans sa version 8.0) en vue de développer une
application pour un microcontrôleur PIC de Microchip, en assembleur ou en langage C avec le boîtier
« ICD2 » (In Circuit Debugger). MPLAB est un Environnement de Développement Intégré (IDE) qui
permet le développement logiciel des microcontrôleurs PIC et les processeurs de signaux numériques
dsPIC de la société Microchip. MPLAB IDE permet :
•
La création d'un nouveau projet ou l'ouverture d'un projet déjà existant.
•
De créer le code source à l’aide de l’éditeur intégré.
•
D’assembler, compiler et lier les fichiers sources qui peuvent provenir de langages différents.
Un assembleur, un “linkeur” et un gestionnaire de librairies sont fournis avec MPLAB. Un
compilateur C est vendu à part par Microchip ; des outils de tierces parties peuvent aussi être
utilisés.
•
De déboguer le code exécutable en observant le déroulement du programme à l’aide du
simulateur fourni ou de l’ICD2 (In Circuit Debugger) développés par Microchip.
•
D’effectuer des mesures temporelles avec le simulateur ou le débogueur.
•
D'observer les variables grâce à des fenêtres d’observation (watch windows).
•
De programmer les composants.
INFO 1ère année – Module I2
Page 1 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
2. Création d'un nouveau projet
Les différents fichiers nécessaires à MPLAB lors du développement d'une application 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 »
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é :
Choisir le microcontroleur
̂
PIC18F4520 ...
... et cliquer sur « Suivant »
INFO 1ère année – Module I2
Page 2 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
La seconde étape consiste à choisir l'outil logiciel correspondant au langage qui sera utilisé pour le
développement de votre programme :
Dans la rubrique « Active Toolsuite » :
• Pour
une
programmation
en
assembleur, choisir l'outil « Microchip
MPASM Toolsuite ».
•
Pour une programmation en langage C,
choisir l'outil « Microchip C18
Toolsuite ».
Dans certains cas, la liste des différents
langages n'est pas complète : cocher alors
la case « Show all installed toolsuites »
Cliquer ensuite sur « Suivant »
La troisième étape consiste à indiquer le nom du projet ainsi que son emplacement :
Spécifier dans la case « Create New
Project File » le répertoire dans
lequel vous allez travailler (ici
C:\Travail\TP1) ainsi que le nom de
votre projet (ici TestMPLAB).
Pour parcourir l'arborescence des
répertoires, vous pouvez utiliser le
bouton « Browse ».
Si le répertoire indiqué n'existe pas,
une fenêtre apparaît pour vous
demander la confirmation de la
création du répertoire.
Cliquer ensuite sur « Suivant »
INFO 1ère année – Module I2
Page 3 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
La dernière étape permet éventuellement d'ajouter au projet un fichier source existant (en assembleur,
extension .asm, ou en langage C, extension .c). Il est toujours préférable que les fichiers source et
projet soient dans le même répertoire.
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 « Add ».
Cliquer ensuite la lettre située à
gauche du nom du fichier pour
faire apparaître un C afin que le
fichier soit copié à partir de son
emplacement d'origine dans le
répertoire de votre projet
Cliquer ensuite sur « Suivant »
L’assistant de création de projet affiche un résumé de celui-ci.
Cela permet de 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.
INFO 1ère année – Module I2
Page 4 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
3. Ecriture d'un programme et configuration du projet
Une fois le projet entièrement défini, vous pouvez commencer à développer le code de votre
application.
MPLAB affiche alors une fenêtre
d'environnement de travail (MicroChip
Workspace : .mcw) qui contient le projet
( MicroChip Project : .mcp)
Celui-ci mentionne éventuellement le nom
du fichier source spécifié à l’étape
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, cliquer sur l’icône
menu « File > New »
ou choisir le
Une fenêtre d’édition apparaît. Taper le texte du programme source (en assembleur ou en C suivant le
choix effectué dans le projet) puis enregistrer le fichier dans le même répertoire que celui du projet
en prenant soin de préciser l'extension correspondante au langage choisi (.asm ou .c).
Après avoir créé le fichier source il faut
l’inclure dans le projet.
Dans la fenêtre nom_du_projet.mcw
sélectionnez Source Files puis avec le
bouton droit faire Add File puis
recherchez et sélectionnez le fichier créé
et sauvegardé précédemment.
En langage C (Microchip C18) ajouter
de la même façon le fichier script pour
l'éditeur de liens (linker) correspondant
au microcontrôleur utilisé. Ce fichier
permettra l'organisation de la mémoire
de votre composant.
Dans notre cas choisir : C:\MCC18\lkr\18f4520i.lkr (utilisation avec ICD2) sinon 18f4520.lkr
INFO 1ère année – Module I2
Page 5 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
4. Réglage des bits de configuration
Les microcontrôleurs PIC disposent de registres de configuration permettants de définir quelles sont
les options et les fonctions internes du microcontrôleur à mettre en service . La configuration des bits
de ces registres peut se faire directement dans code source par des instructions spécifiques ou bien
manuellement par MPLAB.
Pour accéder à ces bits de configuration, sélectionnez « Configure > Configuration bits ...». La fenêtre
ci-dessous s’affiche :
Si la configuration des bits se fait dans le code du programme, cocher la case « Configuration Bits set
in code »
Sinon, voici les principaux éléments à configurer manuellement :
Oscillator
Choix de la configuration de
l'oscillateur
En général à régler sur HS lorsqu'on a un Quartz entre 4 et 20 MHz
Power Up Timer
En général sur disabled
rajoute un délai de 72 ms au
démarrage
Brown Out detect
En général sur disabled
détecte une chute d'alimentation
Watchdog Timer
active le chien de garde logiciel
INFO 1ère année – Module I2
En général sur disabled
Page 6 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
PortB A/D Enable
permet de configurer par défaut
les quatre premiers bits du portB
Master Clear Enable
En général sur MCLR Enabled, RE3 disabled
permet d'activer le bouton de
RESET
Stack Overflow Reset
En général sur Enabled
effectue un RESET sur un
débordement de pile
Low Voltage Program
Avec l'ICD2 toujours sur disabled
permet de programmer les PIC
(série LF) alimentés en basse
tension (3,3V)
Toutes les autres catégories
A positionner sur disabled
Une fois les différents bits définis correctement, fermer cette fenêtre en cliquant sur la croix en haut à
droite.
5. Construction du projet
Après avoir configuré le projet et saisi le code de votre programme il est temps de construire le projet.
Cela provoquera la compilation du fichier source en utilisant la suite logicielle choisie.
Sélectionnez Project > Build All (Ctrl + F10) ou bien cliquez sur l'icône
de la barre de taches
pour construire le projet. Votre fichier doit être assemblé correctement et vous obtenez la fenêtre ci
dessous :
Si vous n'obtenez pas la message Build Succeeded, il y a eu un problème de compilation. Les erreurs
sont indiquées dans la fenêtre pour permettre d'en retrouver la cause. Un double-clic sur l’erreur
pointe directement la ligne du programme sur laquelle se situe l’erreur. Le type des informations
affichées peut être défini : faire « Project > Build Options > Project » puis choisir l’onglet MPASM
Assembler et enfin la catégorie Output
Une fois la compilation terminée le fichier debug (*.cod ou *.cof) généré par Mplab sera chargé. Ce
fichier permet de « débugger » le code source et de visualiser les variables symboliques dans les
fenêtres d’observation.
INFO 1ère année – Module I2
Page 7 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
6. Mise au point de l' application
Après avoir construit le projet il sera nécessaire de vérifier qu’il fonctionne comme prévu. Pour cela il
faut choisir un outil de « debuggage ».
Avec MPLAB nous disposons de deux outils fondamentaux :
•
Un simulateur permettant d'exécuter le programme sans avoir à connecter une cible.
•
Un « debugger » destiné à exécuter le programme directement sur la cible (nécessite le
module ICD2).
Dans les deux cas, le mode opératoire pour la mise au point de votre programme sera identique.
6.1 Utilisation du simulateur
Pour activer le simulateur sélectionnez « Debugger>Select Tools>MPLAB SIM »
De nouvelles fonctions apparaîssent alors dans la barre de tâches et dans le menu « Debugger »:
Exécute le
programme
Arrête le
programme
Reset du
microcontrôleur
Exécute le
programme
(avec animation)
Exécute le sous-programme
jusqu'à la fin de celui-ci
Exécute le programme
pas à pas
(fonction par fonction)
Exécute le programme
pas à pas
(instruction par instruction)
Ces fonctions vont vous permettre de contrôler l'exécution de votre programme.
INFO 1ère année – Module I2
Page 8 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
6.2 Exécution du programme
On va tout d'abord réinitialiser le programme « Reset » afin que celui-ci commence au début. Une
flèche verte apparaît alors à gauche de la première ligne du programme.
La flèche verte indique la
prochaine instruction qui
sera exécutée
À partir de là vous pouvez :
•
Lancer l'exécution complète de votre programme « Run »
•
Arrêter l'exécution de votre programme « Halt »
•
Exécuter votre programme en mode pas à pas pour observer au fur et à mesure le résultat des
opérations que réalise ce programme.
6.3 Visualisation des résultats
Lorsque l’on exécute le programme il est intéressant de voir évoluer le contenu de la mémoire, des
variables et des registres utilisés dans le programme. Toutes les fenêtres de debuggage sont
accessibles par le menu « View »:
Code machine HEX désassemblé
Contenu de la mémoire de sauvegarde en EEPROM
Contenu de la mémoire RAM et des SFR
Contenu de la pile
Contenu des variables locales
Contenu de la mémoire programme
Contenu des registres SFR
Ouverture d'une fenêtre d'observation de
variables et de registres
Jauge d'utilisation de la mémoire
Historique d'exécution du programme
Ouverture d'une fenêtre d'observation de signaux logiques
INFO 1ère année – Module I2
Page 9 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
Ouvrez une fenêtre d'observation « Watch Window » :
Deux menus déroulants vous
permettent de choisir :
soit le nom des registres
« Add SFR »
soit le nom des variables
« Add Symbol »
afin d'en consulter le contenu.
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.
6.4 Utilisation des points d'arrêts
L’exécution d'un 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 oeuvre 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 ».
Point d'arrêt désactivé
Point d'arrêt actif
Suppression/activation du point
d'arrêt
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 ».
6.5 Utilisation du mode « Trace »
Ce mode permet d’enregistrer les actions du programme en cours d’exécution et de suivre ensuite son
comportement.
INFO 1ère année – Module I2
Page 10 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
Faites « View > Simulator Trace ».
La trace du simulateur montre pour chaque cycle machine l’instruction exécutée plus les données qui
ont été lues ou écrites dans les registres. Pour chaque instruction la trace donne l’adresse du Compteur
de Programme, le code opération (Op) en hexadécimal, l’étiquette s’il y a lieu et l’instruction
désassemblée. Les quatre colonnes suivantes montrent les données lues ou écrites :
SA : Adresse Source
adresse du registre où a été lue la donnée
SD : Source Data
donnée lue
DA : Destination Adresse
adresse du registre où a été écrite la donnée
DD : Data Destination
donnée écrite
La dernière colonne donne le nombre de cycles machine. Cela peut permettre de mesurer la durée
d’exécution d’une partie du programme. Il est possible de paramétrer cette colonne pour que
l'affichage se fasse en unité de temps (seconde).
Pour cela il faut avoir paramètré le simulateur en lui indiquant la fréquence d'horloge que l'on utilise :
« Debugger > Settings... »
Indication de la fréquence du quartz
INFO 1ère année – Module I2
Page 11 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
Puis, dans la fenêtre « Trace » cliquer avec le bouton droit de la souris pour obtenir le menu de
configuration « Display Time » et choisir le format adapté à votre besoin.
Durée d'exécution en nombre de cycles
(en notation décimale ou hexadécimale)
Durée d'execution en secondes (en
notation normale ou scientifique)
6.6 Utilisation du « Debugger » ICD 2
Ce mode de « debuggage » va permettre d'exécuter le programme à tester directement sur
l'application cible comportant le microcontrôleur à programmer.
Auparavant, le boîtier ICD2 doit être raccordé d’une part à l’ordinateur via le bus USB et d’autre part
à l’application cible (ici la carte de développement PICDEM2+).
Le boîtier ICD2 doit être relié au PC en
premier lieu par le port USB.
Ensuite, raccorder le boîtier ICD2 à
l’application cible
Puis terminer en alimentant l’application
cible.
Le non respect de l’ordre de connexion peut
entraîner la destruction du boîtier ICD2.
Ensuite, activer le mode de « debuggage »
en sélectionnant :
« Debugger>Select Tool > MPLAB ICD2 »
INFO 1ère année – Module I2
Page 12 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
La connexion avec le boitier ICD2 et
l'application cible s'établit.
Une connexion correcte avec l’ICD2 est
signalée dans la fenêtre « Output »
Si ce n'est pas le cas sélectionner « Debugger > Connect » ou cliquer sur l'icône « Reset and
Connect to ICD » dans la barre de tâches.
De nouvelles fonctions apparaissent alors dans la barre de tâches
qui vont permettrent le contrôle du microcontroleur
̂
sur
l'application cible.
Charge le programme du microcontrôleur dans MPLAB
Charge le programme dans le microcontrôleur
Il peut arriver que des messages d'erreur apparaîssent dans l’onglet « MPLAB ICD 2 » de la fenêtre
« Output ». La signification de ces messages d’erreurs est :
– « ICD0019 : Failed to open communications: (Failcode = 0x2) » ou
« ICD0021 : Unable to connect with MPLAB ICD 2 » :
la communication avec l’ICD2 est impossible, vérifier le câblage (configuration du port
USB);
– « ICDWarn0020: Invalid target device id (expected=0x4D, read=0x0) » :
la communication avec l’application cible est impossible (erreur ou absence de liaison),
vérifier le modèle du microcontrôleur et s'il est bien alimenté;
Après la compilation (ou l’assemblage) du programme source, il faut le charger dans le
microcontrôleur « Program Target Device ».
Il ne reste alors qu'à exécuter le programme en continu, en mode pas à pas ou en plaçant des points
d'arrêt de la même manière qu'en mode simulation et d'observer l'évolution du contenu des registres et
des variables.
INFO 1ère année – Module I2
Page 13 sur 14
Guide d'utilisation de MPLAB
Université de La Rochelle
IUT Réseaux & Télécoms
6.7 Programmation du microcontrôleur
Lorsque le déroulement du programme est satisfaisant, il va falloir effectuer la programmation du
microcontrôleur afin qu’il fonctionne de façon autonome sur l’application cible.
Pour cela choisir dans le menu « Programmer » l’option « Select Programmer » puis « MPLAB
ICD2 » après avoir désactivé le mode « debuggage » par le menu « Debugger > Select
Tool > None ».
Les icônes présentes dans la partie droite de l’écran pour le mode « Debuggage » 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.
Losrque le microcontreur a été programmé avec 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 alors autonome.
7. 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 sources 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.
INFO 1ère année – Module I2
Page 14 sur 14
Guide d'utilisation de MPLAB

Documents pareils

Utilisation de MPLAB

Utilisation de MPLAB - « 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 Regist...

Plus en détail