Exploitation Mplab Fjobard
Exploitation Mplab Fjobard
Exploitation Mplab Fjobard
fr
Dans la version MPLAB IDE 6.13.0.0 (2002) le menu Tools ny tait pas
Note : Une version de MPLAB se trouve sur le CD de la formation acadmique 2003 au chemin \M_CHIP\COMPLEMENT\Mplab613. La dernire version est disponible ici (v6.30 en juillet 2003) Cet environnement permet dditer un programme en C ANSI. Pour cela il faut associer lenvironnement de MPLAB loutil HI-TECH PIC C Lite . Il sagit d un compilateur C (dgrad) propos par HI-TECH que lon peut tlcharger ladresse ci-dessous (v8.01PL3 en juillet 2003). On installe cette version en conservant si possible les rpertoires par dfaut.
http://www.microchip.com/1010/index.htm http://www.htsoft.com/products/piclite/
Frdric JOBARD
Liens :
Page 1
Aprs le message de bienvenue On slectionne le composant qui convient. Ici ce sera le PIC16F84
On active la suite HI-TECH PICC pour une dition en C - Pour chaque outil on prcise le chemin C:\PICCLITE\bin\picl.exe
OU BIEN
On active la suite Microchip MPASM Toolsuite pour une dition en assembleur - MPASM Assembler on indique le chemin C:\Program Files MPLAB IDE\MCHIP_Tools\mpasmwin.exe - MPLINK Object Linker on indique le chemin C:\Program Files MPLAB IDE\MCHIP_Tools\mplink.exe Note : La dernire version de MPLAB intgre les chemins par dfaut
Si vous avez install PICC Lite sans modifier le nom du rpertoire dinstallation par dfaut les croix rouges napparaissent pas car MPLAB connat le chemin.
Page 2
Arborescence conseille
Dans lexemple le projet se nomme Exercice_LED et le dossier cible est Travaux_MPLAB si il na pas t pralablement crer lassistant de MPLAB le cre dans le lecteur spcifi. A ltape qui suit MPLAB demande les fichiers que vous dsirez intgrer au projet en cours de construction. Il suffit alors de trouver le(s) fichier(s), en dveloppant larborescence correcte, de lincorporer par Add puis de cocher la case associe pour en faire une copie dans le rpertoire Travaux_MPLAB.
Pour terminer un rsum rappelle les paramtres du projet et nous indique que le projet est intgr au nouvel environnement de travail que lon vient de crer. A la suite de cette tape MPLAB gnre 2 fichiers, Exercice_LED.mcp et Exercice_LED.mcw qui sont respectivement associs au projet et lespace de travail, quil place dans le dossier Travaux_MPLAB
Page 3
A ce stade le rpertoire de travail peut contenir 3 fichiers : nomduprojet.mcp Fichier projet Exemple : nomduprojet.mcw Fichier espace de travail nomdusource.c Fichier source en C
Dans le menu View on peut cocher ou dcocher lapparition des fentres Project et/ou Output
Outils de compilation Cration, ouverture, sauvegarde de projet Fichier source en C En cliquant droit sur Sources Files ou sur LED.C un menu apparat
contrleur concern Un double clic dans la fentre du projet sur le fichier source louvre. Dans cette fentre ldition et la sauvegarde sont possible. Si le nom de fichier dans la barre de titre est suivi par un astrisque cest que le source a t modifi et la disquette de la barre doutils est disponible pour enregistrer Un clic droit dans la fentre du fichier source permet de faire apparatre le menu cicontre. On dcouvre des possibilits ddition et de debuggage telle que la possibilit dinsrer un point darrt. Etc
Page 4
La compilation peut russir (BUILD SUCCEEDED) Elle peut aussi chouer (BUILD FAILED)
Avant de lancer la compilation il faut sassurer que les options dclares ci-contre sont correctes FAIRE OK pour fermer la fentre ci-contre en conservant les proprits par dfaut des autres onglets. Lancer la compilation Elle devrait russir et crer des fichiers du type suivant nomduprojet.cod nomduprojet.lde nomduprojet.sym nomduprojet.hex voire nomduprojet.map dans le dossier : Qui est dclar la rubrique Output Directory, $(BINDIR): dans longlet General
Ici on indiquera le chemin : C:\Travaux_MPLAB\Projet_C Montrer le chemin par le bouton Browse Ne pas faire de copier coller.
Outre les fichiers ci-dessus la compilation gnre les fichiers dans le dossier : Qui est dclar la rubrique Intermediates Directory, $(TMPDIR):
Page 5
La fentre Output nous renseigne sur loccupation et la taille du programme ainsi que sur le rsultat de la compilation.
Grce la suite PROTEUS on peut diter un schma avec ISIS et crer une animation (simulation) qui tourne avec le fichier nomdusource.hex issu de la compilation du programme source.
X1
16 15 4MHz 4
U1
OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/TOCKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC16F84 Cette animation fonctionne avec un fichier .hex obtenu par la compilation d'un fichier source dit en C sous MPLAB. Le compilateur C utilis est celui de HI-TECH dans sa version LITE. 17 18 1 2 3 6 7 8 9 10 11 12 13
R1
330
C2
27pF
C1
27pF
Un clic droit sur le composant programmable fait apparatre la fentre ci-contre Un appui sur le ? permet de montrer le chemin du fichier .hex
Page 6
La compilation peut hlas chouer Notamment si Isis est ouvert et que le .hex est utilis
En cochant la case Generate map file et en relanant la compilation, celle-ci peut russir. On pourra aussi ressayer en restaurant les proprits par dfaut.
REMARQUE : La case cocher Produce MPLAB debugging info Intgre la directive -FAKELOCAL Si aucune case nest coche louverture on a : -O"$(TARGETBASE).hex" or si on appuie sur le bouton Restore Defaults on a : -O"$(TARGETBASE).cof" Une fois que la compilation a russie on peut dcocher les cases puis relancer la compilation cela fonctionne
Page 7
Outils de dveloppement pour les PICs de Microchip Editeur, simulateur et programmateur /********************************************************************* * Clignotement LED sur platine BIGONOFF * Exercice 1 de source en C * Frdric JOBARD ********************************************************************/ #include <pic1684.h> #define XTAL_FREQ 4 /*frquence en MHz (4 MHz)*/ /*******************************************************************/ void Delay250Us(void); // dclaration des fonctions crites void DelayMs(unsigned int cnt); // aprs le programme principal /*******************************************************************/ /* PROGRAMME PRINCIPAL /*******************************************************************/ void main(void) { TRISA2 = 0; //Bit 2 de TRISA en sortie while (1>0) //Boucle sans fin { RA2 = 1; //Bit 2 de PORTA 1 DelayMs(250); // appel temporisation avec valeur RA2 = 0; //Bit 2 de PORTA 0 DelayMs(100); // appel temporisation avec valeur } } /*******************************************************************/ /* Temporisations*/ /*******************************************************************/ //dlais de 250s et X fois 250s //ATTENTION compiler en 'full optimization' pour obtenir //l'excution d'une boucle en 3 cycles d'horloge void Delay250Us(void) { unsigned char _dcnt; _dcnt = 250/(12/XTAL_FREQ); while(--_dcnt) continue; } void DelayMs(unsigned int cnt) { unsigned char i; do { i=4; do { Delay250Us(); } while(--i); } while(--cnt); }
Ci-contre le source en C du programme de clignotement dune LED. Cet exercice est inspir des travaux diffuss sur le Net par BIGONOFF http://www.abcelectronique.com/bigonoff/index.php Le source de cet exercice est inspir des travaux diffuss galement sur le Net par Claude DRESCHEL. http://microcontroleur.fr.st/ Le debuggage dun programme dit en C nest pas ais avec MPLAB. Il sera utile dutiliser le compilateur HI-TECH sous son environnemment DOS. On le trouve au chemin C:\PICCLITE\bin\htlpic.exe
Page 8
Pour programmer le composant 16F84 on slectionne le programmateur PICSTART Plus dans le menu. Lorsque cette slection est active : - les outils concernant PICSTART plus apparaissent dans la barre doutils - un onglet de plus apparat dans la fentre Output - PICSTART Plus apparat dans la barre des tches de la fentre de MPLAB
On connecte physiquement sur un port srie du PC le programmateur PICSTART Plus. Alimentation teinte, on place le PIC sur le support dans la partie 18 broches . On met sous tension (Voyant POWER allum).
On valide la connexion et la mise sous tension du programmateur par Programmer ! Enable Programmer
Page 9
Outils de dveloppement pour les PICs de Microchip PICSTART puis Clear pour Editeur, simulateur et programmateur
effacer.
Dans longlet PICSTART de la fentre Output des messages vous informent A newer version of the PICSTART Plus firmware operating system is available, and may be required for programming some devices. The newer version is located in your MPLAB IDE main directory. Refer to the topic, 'Upgrading the PICSTART Plus Operating System' in the PICSTART Plus Help file for instructions.
Traductions
Une version plus rcente du PICSTART Plus le logiciel d'exploitation est disponible, elle peut tre ncessaire pour programmer certains composants. Une version plus rcente est situe dans le rpertoire MPLAB IDE. Mettez jour le logiciel d'exploitation de votre PICSTART Plus. Rfrez-vous au fichier daide pour plus dinformations. Ne peut pas Transmettre. Veuillez vrifier le raccordement et ressayez l'opration prcdente.
Avant la compilation et la programmation il faut vrifier ltat du registre de configuration. Si le setting des bits nest pas celui qui convient il faudra reconfigurer ce registre en passant par le menu Configure ! Configurations Bits
On lance la programmation du PIC par Programmer ! Program Ou Par licne de la barre doutil A ce moment l le tlchargement dbute Une animation apparat en bas gauche de la fentre de MPLAB. Le voyant jaune ACTIVE situ sur le programmateur PICSTART Plus sallume pendant la dure du transfert. Un message nous informe que la programmation a russi. Et que la vrification a t accompli avec succs. Le composant est programm. On peut linsrer sur son application et procder aux essais.
Page 10
En ce qui concerne ldition dun programme en assembleur on peut utiliser lAssistant de MPLAB comme prcdemment la condition de spcifier les outils suivants :
! !
Jai expriment cette partie, en reprenant un exercice de BIGONOFF Led_cli.asm. Ce programme fait clignoter une LED connecte sur la ligne de port PA2. Aprs compilation on peut tester le simulateur livr avec MPLAB en visualisant une fentre watch. La compilation gnre quelques fichiers dont Led_cli.hex. Jai connect PICSTART Plus et la programmation sest bien passe. Jai plac le pic sur la platine et cela a march
X1
16 15 4MHz 4
U1
OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/TOCKI RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC16F84 17 18 1 2 3 6 7 8 9 10 11 12 13
R1
330
C2
27pF
C1
27pF
Pour que la simulation fonctionne il faut mettre en commentaire la ligne ci-dessous du programme souce puis compiler et animer. __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
Enfin je me suis servi de cet exercice pour tester une animation sous ISIS. Cela a march partir du moment ou jai fait ignor la ligne de programme concernant le registre spcial de programmation ; __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC ; '__CONFIG' prcise les paramtres encods dans le processeur au moment de ; la programmation du processeur. Les dfinitions sont dans le fichier include.
Page 11