Table des matières:

Comment mettre à jour le micrologiciel sur un clone USBasp bon marché : 9 étapes
Comment mettre à jour le micrologiciel sur un clone USBasp bon marché : 9 étapes

Vidéo: Comment mettre à jour le micrologiciel sur un clone USBasp bon marché : 9 étapes

Vidéo: Comment mettre à jour le micrologiciel sur un clone USBasp bon marché : 9 étapes
Vidéo: EB_#454 Commodore 64 - Remise en Marche, Bonus! - Du Code Assemblé ;-) 2024, Novembre
Anonim
Comment mettre à jour le micrologiciel sur un clone USBasp bon marché
Comment mettre à jour le micrologiciel sur un clone USBasp bon marché

Ceci est un petit guide pour flasher un nouveau firmware sur un clone USBasp comme le mien. Ce guide est spécifiquement écrit pour le clone USBasp vu dans les images, mais il devrait toujours fonctionner avec d'autres. Le câblage est montré à l'étape 5, il y a un TL;DR à l'étape 9.

Prendre plaisir!

Étape 1: Le problème

Le problème
Le problème
Le problème
Le problème

Avrdude me dit que le programmeur que j'utilise a un firmware obsolète. Le cavalier normal pour l'auto-programmation n'existe pas sur ma carte. Voici comment y remédier. Les schémas de l'USBasp sont disponibles sur fischl.de.

Étape 2: Matériel nécessaire

Tu auras besoin de…

  • Un fer à souder
  • Un Arduino (de préférence Nano)
  • Quelques fils de liaison
  • Un PC avec l'IDE Arduino et avrdude installés

Étape 3: la solution

La solution
La solution
La solution
La solution
La solution
La solution

Pour que nous puissions flasher un nouveau firmware sur l'ATmega8, nous devons prendre le contrôle de sa broche RESET. Normalement, un cavalier sur l'USBasp peut être fermé pour permettre l'auto-programmation, cependant le fabricant de ma carte n'en a pas inclus.

Sur l'ATmega8, la broche RESET est la broche 29, la quatrième broche en haut à partir de la gauche. Il est connecté à une résistance pull-up de 10k à 5V. Nous devons le connecter à la broche 5 de l'en-tête ICSP.

On pourrait essayer de souder un fil directement sur la résistance ou sur la broche elle-même, cependant c'est fastidieux et peut endommager votre carte. (Je l'ai essayé et j'ai arraché la résistance de rappel, je ne le recommande pas) De plus, il existe un moyen beaucoup plus simple !

Bien que le fabricant n'ait pas inclus de véritable cavalier pour permettre l'auto-programmation, il a mis un en-tête sous le microcontrôleur. Nous pouvons simplement souder un fil et…

Étape 4: Voilà

Voilà !
Voilà !

Nous avons connecté les deux broches de réinitialisation ! Les deux trous en bas relient la broche 29 et la broche 14 du microcontrôleur.

Étape 5: Configuration de l'Arduino

Pour flasher le nouveau firmware sur le programmeur, nous avons besoin d'un autre programmeur, dans ce cas un Arduino avec le croquis ArduinoISP dessus. Juste pour vous assurer que votre configuration est la même, veuillez décommenter la ligne 81

// #définir USE_OLD_STYLE_WIRING

Connectez maintenant l'Arduino avec l'en-tête ICSP sur votre programmeur.

Arduino USBasp

5V Broche 2 (VCC) GND Broche 4/6/8/10 (GND) Broche 10 Broche 5 (Reset) Broche 11 Broche 9 (MISO) Broche 12 Broche 1 (MOSI) Broche 13 Broche 7 (SCK)

L'USBasp reste débranché du PC.

Ouvrez un terminal et tapez

avrdude -cavrisp -pm8 -b19200 -P[Votre numéro de port va ici, il devrait être le même que dans l'IDE Arduino]

Si tout se passe bien, avrdude devrait imprimer des informations sur l'ATmega8 (fusibles, signature, etc.)

Étape 6: Flasher l'ATmega8

Pour flasher la puce, nous avons encore besoin du firmware. Rendez-vous sur fisch.de et téléchargez la dernière version. Extrayez l'archive et accédez-y à l'aide du shell.

La compilation du code n'a pas fonctionné pour moi, mais heureusement l'archive contient tous les programmes compilés sous

bac/micrologiciel

Ici, vous devriez voir trois fichiers.hex. Choisissez celui qui porte le même nom que votre puce. Mon programmeur utilise un ATmega8, j'ai donc choisi

usbasp.atmega8.aaaa-mm-jj.hex

Avec une connexion fonctionnelle à l'ATmega8, le flasher ne devrait nécessiter que de taper

avrdude -cavrisp -pm8 -b19200 -P[PORT] -U flash:w:[fichier hexadécimal]

Si tout a été fait correctement, avrdude doit écrire et vérifier le firmware sélectionné.

Étape 7: S'assurer que le programmeur fonctionne

S'assurer que le programmeur fonctionne
S'assurer que le programmeur fonctionne

Pour utiliser à nouveau l'USBasp comme programmeur, nous devons supprimer la connexion entre la broche 29 et la broche 14. Couper le cavalier en bas devrait suffire, mais le retirer ne peut pas non plus faire de mal.

Vous pouvez l'essayer en le rebranchant sur le PC et en tapant

avrdude -cusbasp -pm8

Même si avrdude ne peut pas atteindre la cible, il devrait au moins reconnaître le nouveau firmware de notre programmeur.

Étape 8: Dépannage

Dépannage
Dépannage

Si avrdude affiche une erreur comme celle-ci, cela a probablement quelque chose à voir avec la fonction de réinitialisation automatique de l'Arduino. Pour contourner cela, veuillez ajouter un condensateur entre RESET et GND de l'Arduino. Il est généralement recommandé d'utiliser un condensateur de 10 µF, mais dans mon cas, un condensateur de 100 µF a très bien fonctionné.

Si vous obtenez une erreur comme

avrdude: erreur: activation du programme: la cible ne répond pas. 1

ou une signature invalide est retournée, veuillez vérifier votre câblage. J'ai eu un problème avec mes câbles d'alimentation qui rouillent et ne conduisent plus l'électricité. Je recommande de vérifier tous les cavaliers au préalable.

Assurez-vous également de basculer la broche 11 et la broche 12 sur l'Arduino, si le problème persiste.

Veuillez également vous assurer de définir le débit en bauds correct pour l'Arduino en tant que FAI, 19200. Il peut être défini avec l'option

-b19200

Si vous avez des questions ou avez repéré une erreur, faites-le moi savoir:)

Étape 9: TL; DR

  1. Soudez un fil entre les deux broches au bas de la carte
  2. Configurer un Arduino en tant que FAI, en veillant à activer l'ancien schéma de câblage
  3. Connectez l'Arduino au programmeur via l'en-tête ICSP
  4. Flashez le nouveau firmware sur le programmeur
  5. Retirez la connexion en bas
  6. N'arrachez aucune résistance SMD

Conseillé: