Différences
Ci-dessous, les différences entre deux révisions de la page.
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 choix, et de lancer le script nommé **dwarf**. |
- | On va ecrire notre premier programme, depuis les sources fournis par Microchip. Creation 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 programme, en 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 // | ||