Utilisation de MPLAB
Transcription
Utilisation de MPLAB
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 ») Oscillator Watchdog Timer (Activation du chien de garde). Power Up Timer. Rajoute un délai de 72 mS. Brown Out Detect. Low Voltage Program Flash Program Write Active la programmation de la mémoire programme. Data EE Read Protect Empêche la lecture de la mémoire EEPROM du PIC. Code Protect Activation de la protection du code programme. Valeur (« Setting ») 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. En général sur « Off » En général sur « Off » En général sur « Off » Toujours sur « Disabled » avec l’ICD2. Toujours sur « Enabled ». En général sur « Off » En général sur « Off » 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 ». Nouveau Exécuter le programme Imprimer Ouvrir Reset Programmer le microcontrôleur Arrêter le programme Nouveau Enregistrer Ouvrir Porte sur un fichier source Exécuter le programme avec animation Enregistrer Copier Couper Options Chercher Porte sur un projet Coller Porte sur une partie de texte dans le fichier source Aide Générale de MPLAB Compiler le projet Aide du Compilateur Chercher du texte dans l’ensemble des fichiers source du projet Lire le micro- Reset + Reconnexion ICD2 Modes pas à pas Actions disponibles en mode « Débuggage » 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 Lance le programme Connexion avec l’ICD2 Arrête le programme Pas à Pas (instruction par instruction) Philippe LECARDONNEL - GRANVILLE - 2004 - Pas à Pas (fonction par fonction) Reset du microcontrôleur Programme le microcontrôleur 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 microcontrôleur puis cliquer sur « Add SFR » Choisir le nom d’une variable puis cliquer sur « 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 microcontrôleur Connexion 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
Documents pareils
Prise en main de MPLAB
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 c...
La programmation des PIC en C
Mon expérience dans le domaine de la programmation en C due en partie à mon métier
d'enseignant, et à ma passion pour les PIC, m'a naturellement amené à l'écriture de ce
didacticiel. Celui-ci se ve...