Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
pickit2 [Le 03/04/2011, 02:38]
themadmax créée
pickit2 [Le 30/12/2022, 18:04] (Version actuelle)
86.202.72.214 [Utilisation]
Ligne 1: Ligne 1:
 +{{tag>​programmation BROUILLON}}
 +----
 +
 ====== PICkit2 ====== ====== PICkit2 ======
-Le PICKit 2 est un programmateur de PIC de chez [[Microchip|http://​www.microchip.com/​stellent/​idcplg?​IdcService=SS_GET_PAGE&​nodeId=1406&​dDocName=en023805]]. Ce tutoriel traite de la façon d'​utiliser et de programmer avec la carte de développement PICkit™ 2 Starter Kit.+Le PICKit 2 est un programmateur de PIC de chez [[http://​www.microchip.com/​stellent/​idcplg?​IdcService=SS_GET_PAGE&​nodeId=1406&​dDocName=en023805|Microchip]]. Ce tutoriel traite de la façon d'​utiliser et de programmer avec un controleur 16f88.
  
-===== Pk2cmd ===== +===== Pk2cmd ​: le programme de communication ​===== 
-Pk2cmd est un programme pour communiquer avec le PICkit2. Les sources ​sont disponibles depuis le site de Microchip. Nous allons les télécharger,​ les compiler, puis les installer:+Pk2cmd est un programme ​open source ​pour communiquer avec le PICkit2. 
 + 
 +Il est disponible sur le site internet de Microchip à la page [[http://​www.microchip.com/​stellent/​idcplg?​IdcService=SS_GET_PAGE&​nodeId=1406&​dDocName=en023805]] 
 + 
 +Le lien de téléchargement direct pour le noyau 2.6 et plus est [[http://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​pk2cmdv1-20Linux2-6.tar.gz]] 
 + 
 + 
 +==== Installation à partir du code source ==== 
 +Les sources ​étant ​disponibles depuis le site de Microchip, nous allons les télécharger,​ les compiler, puis les installer.\\ 
 +Dans un [[:​terminal]] saisissez:
 <​code>​ <​code>​
-wget http://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​pk2cmdv1.20LinuxMacSource.tar.gz +sudo apt-get install libusb-dev 
-tar xvf pk2cmdv1.20LinuxMacSource.tar.gz +wget http://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​pk2cmdv1.20LinuxMacSource.tar.gz 
-make linux +tar xvf pk2cmdv1.20LinuxMacSource.tar.gz 
-sudo make install+cd pk2cmdv1.20LinuxMacSource 
 +make linux 
 +sudo make install
 </​code>​ </​code>​
-Bon on peut brancher ​le PICkit2 sur le port USB, puis on va tester ​si celui-ci ​est détecté. +J'ai tester sur une 16.04 sa fonctionne bien même tester sur une configuration ARM en processeur (raspberry pi) 
-<​code>​ +==== Utilisation ==== 
-pk2cmd -P +Branchez ​le PICkit2 sur le port USB pour tester ​s'​il ​est bien détecté. 
-Auto-Detect:​ Found part PIC16F690.+<​code>​pk2cmd -P 
 +Auto-Detect:​ Found part PIC16F88.
  
 Operation Succeeded Operation Succeeded
 </​code>​ </​code>​
-Quelque commande utile :+ 
 +<note tip>Si vous obtenez le message d'​erreur suivant : 
 +<​code>​PK2DeviceFile.dat device file not found.</​code>​ 
 +il peut être nécessaire de copier le fichier PK2DeviceFile.dat vers le dossier ou se trouve l'​executable pk2cmd : 
 +<​code>​sudo cp /​usr/​share/​pk2/​PK2DeviceFile.dat /​usr/​local/​bin</​code>​ 
 +</​note>​ 
 + 
 +Quelques commandes utiles ​:
 Activer le courant : Activer le courant :
-<​code>​pk2cmd -PPIC16F690 ​-T</​code>​+<​code>​pk2cmd -PPIC16F88 ​-T</​code>​
 Couper le courant: Couper le courant:
-<​code>​pk2cmd -PPIC16F690 ​-A0</​code>​+<​code>​pk2cmd -PPIC16F88 ​-A0</​code>​
 Programmer le PIC avec le fichier program..hex:​ Programmer le PIC avec le fichier program..hex:​
-<​code>​pk2cmd -PPIC16F690 ​-M -Fprogram.hex</​code>​+<​code>​pk2cmd -PPIC16F88 ​-M -Fprogram.hex</​code>​
  
-=====  ​Gpasm ===== +=====  ​Dwarf : une interface graphique pour pk2cmd ​===== 
-Gpasm est un compilateur pour générer ​du code pour notre PIC. Il prend en entrée un fichier assembleur et produit du code machine. Un paquet ​est disponible pour l'​installation: +Pour ceux qui n'​aiment pas les lignes de commande, le site du projet ​est ici :[[http://​tuxtronics.com/​node/​1]]
-<​code>​sudo apt-get install gputils</code>+
  
-=====  Compilation ===== +Il suffit de décompresser l'​archive **dwarf.tgz** dans le dossier de votre choixet de lancer le script nommé **dwarf**. 
-On va ecrire notre premier programmedepuis les sources fournis par MicrochipCreation d'un fichier //hello.asm// :+Sur 16.04 penser à rendre éxécutable le script et le lancer dans une console ouverte dans le dossier "dwarf master"​
 <​code>​ <​code>​
-#include p16f690.inc +utilisateur@pc~ ​./dwarf
-__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF +
-     org 0 +
-Start: +
-     ​bsf ​    ​STATUS,​RP0 +
-     ​bcf ​    ​TRISC,​0 +
-     ​bcf ​    ​STATUS,​RP0 +
-     ​bsf ​    ​PORTC,​0 +
-     ​goto ​   $ +
-     end+
 </​code>​ </​code>​
-On compile+=====  Gpasm : le compilateur pour PIC ===== 
-<​code>​gpasm hello.asm -p p16f690</​code>​ +Gpasm est un compilateur pour générer du code pour notre PIC. Il prend en entrée un fichier assembleur et produit du code machine.\\ 
-Puis on programme/​flash ​le PIC +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​gputils|gputils]]**  
-<​code>​pk2cmd -PPIC16F690 ​-M -Fhello.hex</​code>​ + 
-On lance le programmeen activant l'​alimentation:​ +=====  Premier Code ===== 
-<​code>​pk2cmd -PPIC16F690 ​-T</​code>​ +Écrivons notre premier programme. 
-Normalement si tout se passe correctement ​ la première ​LED doit s'​allumer.+[[:​tutoriel:​comment_modifier_un_fichier|Créez un fichier]] **//​hello.asm//​** contenant:​ 
 +<​code>​ 
 +    #include <​p16f88.inc> ​         ; fichier include (définition controleur) 
 + 
 +    ;La directive CONFIG sert à mettre en fonction des fusibles de fonction 
 +    __CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO 
 +    __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF 
 +     
 +    ;la directive CBLOCK sert à donner le point de départ des variables (RAM) 
 +    CBLOCK ​ 0x20        ;Début de la zone (0x20 à 0x6F) 
 +        Delay1 ​         ;​Déclaration variable Delay1 dans banque 0 
 +        Delay2 
 +        ENDC            ;Fin de la zone 
 + 
 +    ORG 0 ;la directive ORG adresse de démarrage du code (ROM) 
 +    bsf     ​STATUS,​RP0 ;​sélection banque 1 
 +    bcf     ​TRISB,​3 ;​bit 3 de TRISB = 0 
 +    movlw b'​01100010'​ ;​charge la valeur binaire dans W 
 +    movwf   ​OSCCON ;​écrit la valeur dans registre OSCCON (horloge interne = 4Mhz) 
 +    bcf     ​STATUS,​RP0 ;​retour en banque 0 
 +boucle ;​étiquette ou label 
 +    bsf     ​PORTB,​3 ;​bit 3 de PORTB = 1 
 +    call delay ;​appel sous routine delay 
 +    bcf     ​PORTB,​3 ;​bit 3 de PORTB = 0 
 +    call delay 
 +    goto    boucle ;​saut à boucle 
 +delay 
 +    decfsz Delay1,​f ​    ;​Dés-incrémente et saut si égal à 0 de Delay1 dans Delay1 
 +    goto delay          ;Tant que delay1 n'est pas égal à 0 on boucle 
 +    decfsz Delay2,f 
 +    goto delay 
 +    end 
 +</​code>​ 
 +Compilez ​
 +<​code>​gpasm hello.asm -p p16f88</​code>​ 
 +Programmer ​le 16f88 
 +<​code>​pk2cmd -P PIC16F88 ​-M -F hello.hex</​code>​ 
 +Lancez ​le programme en activant l'​alimentation:​ 
 +<​code>​pk2cmd -P PIC16F88 ​-T</​code>​ 
 +Si tout se passe correctement ​ la LED câblée sur le PORTB 3 clignote. 
 +<​code>​pk2cmd -P PIC16F88 -A0</​code>​ 
 +Avec cette commande on coupe alimentation du contrôleur. 
 +On utilise le contrôleur sur une bread board avec le câblage ci dessous: 
 +=====  Voir aussi ===== 
 +  * [[piklab]] 
 +  * [[conception_electronique]] 
 + 
 +---- 
 +//​Contributeurs:​ FIXME //
  
  
  • pickit2.1301791131.txt.gz
  • Dernière modification: Le 18/04/2011, 14:44
  • (modification externe)