Tutoriel / aide mémoire MPLAB IDE 7.40 C30 CREMMEL Marcel Lycée Louis Couffigna

Tutoriel / aide mémoire MPLAB IDE 7.40 C30 CREMMEL Marcel Lycée Louis Couffignal STRASBOURG Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 2/22 Table des matières 1. Démarrer un nouveau projet _______________________________________________________ 3 2. Compilation _____________________________________________________________________ 9 2.1 Processus de compilation ______________________________________________________________ 9 2.2 Lancer la compilation ________________________________________________________________ 10 2.3 Corriger les erreurs de compilation_____________________________________________________ 10 3. Simulation _____________________________________________________________________ 12 3.1 Exemple de programme ______________________________________________________________ 13 3.2 Premiers essais______________________________________________________________________ 14 3.3 Commandes de base _________________________________________________________________ 15 3.4 Commandes et fonctions avancées______________________________________________________ 15 3.5 Exemple ___________________________________________________________________________ 17 Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 3/22 Tutoriel / aide mémoire MPLAB C30 sur dsPIC L'environnement de développement (IDE) MPLAB regroupe tous les outils nécessaires à la mise au point d'une application avec un cœur de microcontroleur dsPIC, entre autres, de MICROCHIP :  éditeur de texte interactif  compilateur C (et assembleur)  simulateur  debugger si on dispose de l'équipement nécessaire Ce document est un "tutorial" qui permet de démarrer un nouveau projet, le compiler et le simuler en présentant les principales commandes dans ces 3 phases de développement. 1. Démarrer un nouveau projet 1. Project Project Wizard … Rien de particulier dans cette phase : cliquer sur "Suivant" 2. Ecran suivant : Choisir la cible dans la liste proposée. Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 4/22 3. Sélection du langage de programmation : Choisir "Microchip C30 Toolsuite" dans "Active Toolsuite" Vérifier que chaque outil est bien localisé sur le PC : cliquer chaque outil et vérifier son emplacement. 4. Nom et emplacement du projet : Si le dossier n'existe pas encore, il peut être créé dans cette étape. Le placer dans le répertoire D:\Microchip Le nom du projet peut être différent de celui du dossier. Éviter de placer plusieurs projets dans un même dossier. Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 5/22 5. Ajouter le fichier "p30f2010.gld" dans le projet : Ce fichier texte informe l'éditeur de lien (linker) du plan mémoire du microcontroleur. Le fichier se trouve dans le dossier C:\Program Files\Microchip\MPLAB C30\support\gld Cocher la case pour copier ce fichier dans le dossier. 6. Résumé des paramètres du projet : Cliquer sur "Terminer" pour créer le projet Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 6/22 7. L'environnement de développement se présente alors de la façon suivante : 8. Mais il ne comporte encore aucun programme à traiter ! Pour ce faire, il faut créer un fichier source d'extension ".c" à partir du menu "File" : Choisir un nom significatif en rapport avec le traitement effectué par le programme Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 7/22 9. On vient d'effectuer la tâche la plus facile ! Il reste à écrire et à mettre au point le programme. Note : on peut changer les paramètres de l'éditeur de texte (par exemple : la taille des caractères ou la numérotation des lignes) en ouvrant le menu contextuel par un clic droit. 10. Bits de configuration (menu : Configure Configuration bits …) Chaque dsPIC comporte un certain nombre de bits de configuration : ils déterminent entre autres le type d'horloge, l'activation du chien de garde, la protection mémoire etc. Ces bits sont situés en mémoire flash et sont donc programmables. Toutefois, il est préférable de reprendre la configuration reproduite ci-dessous qui est celle des µC utilisés en TP. Résumé de la configuration : Horloge : quartz XT; Fcy=FQ*16/4 (soit 16MHz avec un quartz de 4 MHz)  Chien de garde inhibé  Mémoire non protégée Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 8/22 11. Sélection du simulateur : La première étape de la mise au point est toujours la simulation 12. Paramétrer le simulateur : "Debugger Setting …" Choix de l'horloge : Fosc=64MHz Cocher "Enable Realtime watch update" et régler le paramètre à 100mS Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 9/22 2. Compilation 2.1 Processus de compilation Le programmeur écrit son programme dans un ou plusieurs fichiers texte en utilisant le langage normalisé "C" (les fichiers "sources"). Ces fichiers ne peuvent pas être programmés dans le µC cible tels quels : le CPU de celui-ci ne connaît que le code machine et ne comprend rien au texte des fichiers source. La tâche du compilateur est de "traduire" ces fichiers source en code machine (fichier .hex), en utilisant éventuellement des librairies de fonctions (mathématiques par exemple) fournies avec le compilateur. Rôle du pré-processeur : Le pré-processeur ou pré-compilateur réalise des mises en forme et des aménagements du texte d'un fichier source, juste avant qu'il ne soit traité par le compilateur. Il existe un ensemble d'instructions spécifiques appelées directives pour indiquer les opérations à effectuer durant cette étape. Les deux directives les plus courantes sont #define et #include. #define correspond à une équivalence ex : #define pi 3.14 ou une définition de macro Rôles des fichiers d'inclusion : Les fichiers d'inclusion ou d'en tête *.h (header) contiennent pour l'essentiel cinq types d'informations : • des définitions de nouveau type • des définitions de structure • des définitions de constantes Le fichier d'inclusion p30f2010.h est particulièrement important lorsqu’on travaille en C sur ce micro- contrôleur : il définit tous les registres internes du micro-contrôleur dsPIC30F2010 de façon très détaillée et permet d'éviter de nombreuses erreurs dans l'affectation de ces registres. Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 10/22 Par exemple, pour mettre à 1 le bit 2 du PORTB (noté RB2), on peut écrire :  PORT2 |= 0x0004;  PORT2bits.RB2 = 1; On utilise ici les déclarations de "p30f2010.h" La 2° solution est bien plus sûre. 2.2 Lancer la compilation Vérifier avant tout la présence du fichier source (ici "Cligno_Leds.c") et du fichier "p30f2010.gld" dans la fenêtre du projet (ici "Mon_projet.mcw"). La procédure est très simple : il suffit de cliquer sur "Make" ou "Build All" ! Les 2 actions donnent les mêmes résultats. En fait "Make" tient compte de la date des fichiers, ce que ne fait pas "Build All". En l'absence d'erreurs, les messages sont les suivants : Le fichier de programmation est créé : il se nomme <Nom du projet>.hex . Ce fichier est également utilisé par le simulateur (avec quelques autres fichiers qui définissent les symboles) pour permettre une simulation en suivant l'exécution du programme dans le source. 2.3 Corriger les erreurs de compilation Personne n'a jamais compilé une première fois un programme sans erreur ! Mais l'environnement MPLAB facilite leur repérage et donc leur correction (la correction automatique n'existe pas encore !). Make Build all Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 11/22 Exemple : on a placé volontairement une erreur de syntaxe dans le source Le message d'erreur dans la fenêtre "Output" indique : Cligno_Leds.c : In function `main': Cligno_Leds.c : 36 : error : syntax error before "PORTCbits" La position de l'erreur est repérée dans le source par un "double-clic" (voir flèche ci-dessus). En fait l'erreur est ici : le ; manque. La position indiquée est correcte car le compilateur ne tient pas compte des commentaires et sauts de ligne. Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 12/22 3. Simulation Le simulateur de MPLAB est très complet et couvre la majorité des périphériques intégrés dans le µC. Ses principales spécifications sont : modes "run", "pas à pas" et "pas à pas" à vitesse réglable points d'arrêts multiples  fenêtre de suivi de variables et registres à taux de rafraîchissement réglable  stimuli à affectation manuelle et programmée simulation de l'UART via des fichiers "texte" Il est prudent de vérifier que le simulateur supporte les périphériques utilisés dans le programme en consultant l'aide : "Debugger / Setting" puis onglet "Limitations" et enfin clic sur "Details". Activer le simulateur : menu "Debugger / Select Tool / 3. MPLAB SIM"  De nouvelles commandes sont disponibles dans le menu "Debugger"  Aide-mémoire MPLAB C30 sur dsPIC BTS électronique – CREMMEL Marcel - Académie de Strasbourg Page 13/22 3.1 Exemple de programme Les possibilités du simulateur sont présentées avec un petit programme qui fait clignoter 2 leds. Voici le source : /******************************************************************** *** Programme d'apprentissage C30 *** *** dsPIC30F2010 *** *** Clignotement de 2 leds *** *** Auteur : CREMMEL Marcel *** *** Date : 04/09/2006 *** ********************************************************************/ #include <p30f2010.h> /***************************** * Câblage * ****************************** Sorties : LED1 sur RC13 LED2 sur RC14 Entrée : BP sur RD1 */ /***************************** * Constantes non mémorisées * ******************************/ #define Fcy 4000000*16/4 // xtal = 4Mhz; PLLx16 -> 16 MIPS /***************************** * Programme principal * ******************************/ int main (void) { // Initialisation des ports I/O (RD1 en entrée au reset) TRISC=0x9FFF; // RC14 et RC13 uploads/Ingenierie_Lourd/ aide-memoire-mplab-c30 1 .pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager