guide d'utilisation de mplab 8 -...

14
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

Upload: dangtu

Post on 28-Oct-2018

286 views

Category:

Documents


3 download

TRANSCRIPT

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 projetLes 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 a 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 projetUne 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 ou choisir le menu « File > New »

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 configurationLes 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 Timerrajoute un délai de 72 ms au démarrage

En général sur disabled

Brown Out detectdétecte une chute d'alimentation

En général sur disabled

Watchdog Timeractive le chien de garde logiciel

En général sur disabled

INFO 1ère année – Module I2 Page 6 sur 14 Guide d'utilisation de MPLAB

Université de La Rochelle IUT Réseaux & Télécoms

PortB A/D Enablepermet de configurer par défaut les quatre premiers bits du portB

Master Clear Enablepermet d'activer le bouton de RESET

En général sur MCLR Enabled, RE3 disabled

Stack Overflow Reseteffectue un RESET sur un débordement de pile

En général sur Enabled

Low Voltage Programpermet de programmer les PIC (série LF) alimentés en basse tension (3,3V)

Avec l'ICD2 toujours sur disabled

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 projetAprè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 OutputUne 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' applicationAprè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 simulateurPour 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 »:

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

Exécute le programme

Arrête le programme

Exécute le programme

(avec animation)

Exécute le programme pas à pas

(instruction par instruction)

Exécute le programme pas à pas

(fonction par fonction)

Exécute le sous-programme jusqu'à la fin de celui-ci

Reset du microcontrôleur

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 »:

INFO 1ère année – Module I2 Page 9 sur 14 Guide d'utilisation de MPLAB

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

Jauge d'utilisation de la mémoire

Ouverture d'une fenêtre d'observation de variables et de registres

Historique d'exécution du programme

Ouverture d'une fenêtre d'observation de signaux logiques

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.

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

Charge le programme dans le microcontrôleur

Charge le programme du microcontrôleur dans 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 indispensablesLors 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