Table des matières:

Comment utiliser les broches GPIO et Avrdude d'un Raspberry Pi pour programmer Bit-bang DIMP 2 ou DA PIMP 2: 9 étapes
Comment utiliser les broches GPIO et Avrdude d'un Raspberry Pi pour programmer Bit-bang DIMP 2 ou DA PIMP 2: 9 étapes

Vidéo: Comment utiliser les broches GPIO et Avrdude d'un Raspberry Pi pour programmer Bit-bang DIMP 2 ou DA PIMP 2: 9 étapes

Vidéo: Comment utiliser les broches GPIO et Avrdude d'un Raspberry Pi pour programmer Bit-bang DIMP 2 ou DA PIMP 2: 9 étapes
Vidéo: Tutoriel Raspberry Pi : 5 - Conversion Analogique Numérique avec un mcp3008 (CAN) 2024, Juillet
Anonim
Comment utiliser les broches GPIO d'un Raspberry Pi et Avrdude pour programmer Bit-bang DIMP 2 ou DA PIMP 2
Comment utiliser les broches GPIO d'un Raspberry Pi et Avrdude pour programmer Bit-bang DIMP 2 ou DA PIMP 2

Ce sont des instructions étape par étape sur la façon d'utiliser un Raspberry Pi et la commande open-source gratuite avrdude pour programmer par bit-bang un DIMP 2 ou DA PIMP 2. Je suppose que vous connaissez votre Raspberry Pi et le LINUX ligne de commande. Vous n'avez pas besoin d'être familiarisé avec la programmation des puces AVR, mais cela aide si quelque chose ne va pas car vous pouvez lire la sortie d'avrdude et avoir une idée de ce qu'il faut faire.

Cette procédure devrait prendre environ 1 heure la première fois et 5 à 10 minutes à chaque fois.

Tu auras besoin de:

1) Un Raspberry Pi avec broches GPIO et alimentation. J'utilise un Raspberry Pi Zero W avec des broches GPIO soudées. Le système d'exploitation doit être Raspberry Pi OS (anciennement Raspbian). J'utilise Raspbian Lite (Stretch), qui est assez ancien. Ces commandes devraient toujours fonctionner sur la dernière version du système d'exploitation Raspberry Pi.

À l'avenir, j'appellerai le Raspberry Pi « RPi ».

2) Cavaliers femelle-femelle. Obtenez une de chacune de ces couleurs: rouge, noir, bleu, jaune, vert, violet. J'utilise du marron au lieu du violet.

3) Un DIMP 2 ou DA PIMP 2 avec l'embase ICSP à 10 broches en option soudée. J'utilise un DIMP 2 ici, mais les instructions sont les mêmes pour le DA PIMP 2.

4) Accès Internet pour le RPi afin que vous puissiez installer la commande open-source gratuite avrdude.

5) Une copie du fichier flash.hex pour votre DIMP 2 ou DA PIMP 2. Vous pouvez créer le fichier.hex vous-même à partir du code source brut, mais je ne vous montrerai pas comment le faire ici.

6) Un moyen de se connecter au RPi - utilisez soit une connexion réseau, soit un accès direct à la console. Vous devez pouvoir exécuter des commandes dessus.

Étape 1: Retirez le cordon d'alimentation secteur et retirez la pile 9 V

Tout d'abord, vérifiez si le cordon d'alimentation secteur est connecté au DIMP 2 ou au DA PIMP 2 et branché sur le secteur. Si c'est le cas, DANGER: RISQUE DE CHOC MORTEL. Portez des gants en caoutchouc, puis éteignez l'interrupteur à bascule principal du DIMP 2 ou du DA PIMP 2. Ensuite, débranchez le cordon d'alimentation secteur du secteur et débranchez le cordon d'alimentation secteur du DIMP 2 ou du DA PIMP 2. Vous pouvez prendre retirez les gants en caoutchouc une fois le cordon d'alimentation secteur débranché.

Ensuite, retirez la pile 9V. L'alimentation sera fournie au DIMP 2 par le RPi via les fils rouge (Vcc) et noir (GND). Désactivez l'interrupteur coulissant du DIMP 2 ou du DA PIMP 2 au cas où.

Étape 2: raccordez les câbles de démarrage

Branchez les fils de cavalier
Branchez les fils de cavalier
Branchez les fils de cavalier
Branchez les fils de cavalier
Branchez les fils de cavalier
Branchez les fils de cavalier
Branchez les fils de cavalier
Branchez les fils de cavalier

Le RPi n'étant pas sous tension, commencez à brancher les câbles de démarrage. À l'avenir, les broches GPIO sont sur le Raspberry Pi et les broches ICSP sont sur le DIMP 2 (en-tête J3) ou DA PIMP 2 (en-tête J1).

Référez-vous au schéma que j'ai bricolé et aux photos si vous êtes perdu.

La partie RPi du diagramme provient de pinout.xyz.

La partie ATMEGA48V-10PU du diagramme est sous copyright 2016 Atmel Corp.

Je revendique une utilisation équitable de ces dessins en raison des ajouts significatifs et transformateurs.

Le noir va de la broche GPIO 6 à la broche ICSP 10. C'est GND (Ground)

Le jaune va de la broche GPIO 12 à la broche ICSP 9. C'est MISO.

Le vert va de la broche GPIO 16 à la broche ICSP 1. C'est MOSI.

Le bleu va de la broche GPIO 18 à la broche ICSP 7. C'est SCK ou SCLK (SClock)

Le violet (marron sur mes photos) va de la broche GPIO 32 à la broche ICSP 5. C'est RESET.

Le rouge va de la broche GPIO 4 à la broche ICSP 2. C'est Vcc (5V Power)

Étape 3: Mettez le RPi sous tension

Maintenant, allez-y et allumez le RPi. La partie voltmètre de DIMP 2 ou DA PIMP 2 devrait également s'allumer, mais vous ne le saurez pas en regardant l'écran. En cas de doute, mesurez la tension avec la sonde rouge à la broche 20 de l'ATMEGA48V-10PU et la sonde noire à la broche 4, 6 ou 8 sur l'embase ICSP. Il devrait être d'environ 5VDC.

Étape 4: Installez Avrdude

Mes instructions n'afficheront que les commandes de ligne de commande. Si vous avez une interface graphique en cours d'exécution, vous souhaiterez ouvrir un terminal pour exécuter ces commandes de ligne de commande.

Connectez-vous en tant qu'utilisateur par défaut pi. Le mot de passe par défaut est framboise

Installez la commande avrdude en tapant ce qui suit à l'invite de commande du terminal:

sudo apt-get install avrdude

Étape 5: Modifiez le fichier de configuration Avrdude

Modifiez le fichier de configuration avrdude en tapant:

sudo nano /etc/avrdude.conf

Ajoutez ces lignes au milieu du fichier où se trouvent les autres définitions du programmeur. Ce que j'ai fait, c'est copier la section du programmeur juste au-dessus pour id = "linuxgpio", puis la coller juste en dessous (à la ligne 1274), puis j'ai édité la nouvelle section.

programmeur

identifiant = "pi_1"; desc = "Utiliser l'interface Linux sysfs pour bitbang les lignes GPIO"; type = "linuxgpio"; réinitialiser = 12; sck = 24; mosi = 23; miso = 18;;

Puis enregistrez le fichier en appuyant sur: Ctrl-O

Et puis quittez l'éditeur nano en appuyant sur: Ctrl-X

Étape 6: Téléchargez ou copiez le fichier Flash.hex dans /home/pi

Copiez le fichier flash.hex sur le RPi. Je suppose que vous savez comment faire cela. CONSEIL: utilisez la commande wget, curl, git ou scp pour transférer le fichier du Web vers le RPi.

Le fichier.hex de DIMP 2 est ici, avec le code source:

github.com/dchang0/dimp2

Une version personnalisée du fichier.hex de DA PIMP 2 est ici. je n'ai pas testé ça !

github.com/jcwren/DaPimp2

Si la version ci-dessus du fichier.hex de DA PIMP 2 ne fonctionne pas, le code source original de DA PIMP 2 de Mikey Sklar est ici. Vous devrez le compiler vous-même dans un fichier.hex fonctionnel. Je ne couvre pas cela dans ces instructions car ce sera un tutoriel long (mais pas difficile). J'ai réussi à programmer plusieurs unités DA PIMP 2 fonctionnelles à l'aide de ce code source:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

Ou vous pouvez accéder à la page principale de DA PIMP 2 ici et cliquer sur le lien vers le code source.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Mettez le fichier.hex à ce chemin et ce nom de fichier sur le RPi…

Pour le DIMP 2:

/home/pi/dimp2.hex

Pour le DA PIMP 2:

/home/pi/da_pimp2.hex

Étape 7: Vérifiez qu'Avrdude peut parler avec l'ATMEGA48V-10PU

Exécutez la commande avrdude pour vous assurer qu'elle peut parler avec la puce ATMEGA48V-10PU sur le DIMP 2 ou DA PIMP 2.

cd /accueil/pi

sudo avrdude -c pi_1 -p m48 -v

Vous obtiendrez environ une page de sortie. Regardez à la fin. Si vous obtenez une réponse comme celle-ci, vous pouvez continuer.

avrdude: appareil AVR initialisé et prêt à accepter les instructions

Lecture | ##################################################### | 100% 0,00s

Si ce n'est pas le cas, alors quelque chose ne va pas et vous devriez le découvrir. Il s'agit très probablement d'un mauvais câblage, mais une autre plainte courante que j'ai vue est que la puce ATMEGA48V-10PU est un faux. Il semble que beaucoup d'entre eux vendus sur Amazon ou ebay soient des contrefaçons. Ceux vendus par Mouser ou Digikey et d'autres distributeurs autorisés sont authentiques.

Étape 8: Flashez le fichier.hex sur l'ATMEGA48V-10PU

Exécutez cette commande pour faire la programmation de la puce…

Pour le DIMP 2:

cd /accueil/pi

sudo avrdude -c pi_1 -p m48 -U flash:w:dimp2.hex

Pour le DA PIMP 2:

cd /accueil/pi

sudo avrdude -c pi_1 -p m48 -U flash:w:da_pimp2.hex

Vous obtiendrez environ une page de sortie. Recherchez ces lignes:

avrdude: écriture flash (1528 octets):

Écriture | ##################################################### | 100% 0,79s

avrdude: vérifier …

avrdude: 1528 octets de flash vérifié avrdude: safemode: fusibles OK (E:FF, H:DF, L:62)

Si vous êtes arrivé jusqu'ici, vous devriez voir l'affichage LED indiquant des zéros pour la tension. Si vous voyez les zéros, c'est fini ! Sinon, passez à l'étape suivante.

Si vous voyez les zéros, éteignez gracieusement votre RPi avec cette commande:

sudo shutdown -h now

Lorsque le voyant d'alimentation du RPi s'éteint (le DIMP 2 ou le DA PIMP 2 sera toujours allumé), vous pouvez débrancher l'alimentation du RPi. Débranchez ensuite les cavaliers entre le RPi et le DIMP 2 ou DA PIMP 2.

Étape 9: Dépannage simple en cas d'échec du flash

Si vous ne voyez pas de zéros sur l'écran de votre DIMP 2 ou DA PIMP 2, il est temps de dépanner.

Encore une fois, vérifiez d'abord votre câblage.

Ensuite, vérifiez les états des fusibles indiqués par avrdude. Il est possible que votre puce soit livrée avec des fusibles réglés sur des valeurs différentes de celles par défaut. La puce peut nécessiter une réinitialisation de ses fusibles, ce qui nécessite un périphérique matériel totalement différent. C'est un problème avec de nombreuses fausses puces ATMEGA48V-10PU vendues sur ebay - ce sont de vieilles puces extraites de matériel mis au rebut, et les fusibles ont été réglés, et le vendeur n'a pas pris la peine de réinitialiser les fusibles.

Parfois, la puce n'est même pas une ATMEGA48V-10PU. Il pourrait s'agir d'une puce différente réétiquetée. Habituellement, vous pouvez reconnaître ces contrefaçons en regardant attentivement les marques en haut et en bas de la puce. Il est plus sage d'obtenir votre ATMEGA48V-10PU auprès d'un fournisseur de confiance comme Mouser ou Digikey.

Conseillé: