Fusibles modifiés sur ATtiny85, désormais signature de périphérique non valide

JellicleCat

Fusibles modifiés sur ATtiny85, désormais signature de périphérique non valide


J’ai changé les bits de fusible d’horloge sur mon ATtiny85. Maintenant, je ne peux plus rien y flasher ni même changer le fusible. Je reçois l’erreur:

 avrdude . exe :   Device  signature =   0x000000 avrdude . exe :   Yikes !    Invalid  device signature . 
              Double  check connections and try  again ,  or use - F to override this  check . 

La commande de ligne de commande que j’ai utilisée pour changer le fusible au départ était:

 avrdude - p attiny85 - P com8 - c stk500v1 - b 19200   - U lfuse : w : 0x62 : m - U flash : w : main . hex 

Maintenant, je comprends que j’ai réglé le fusible d’horloge pour un signal d’horloge oscillant, pas pour un cristal. J’ai lu ici que je peux fournir le signal d’horloge nécessaire à partir d’un stk500. Mon Arduino UNO fonctionne comme programmeur (et dans les arguments de la ligne de commande, je dis en fait à avrdude que c’est un stk500). Comment connecter / configurer UNO et ATtiny pour fournir le signal d’horloge nécessaire?

ÉDITER

Je n’essaie pas d’utiliser la programmation parallèle haute tension. Je veux juste fournir le signal d’horloge externe que l’AVR attend maintenant afin de le programmer normalement.

J’ai un deuxième Arduino, et j’ai essayé d’envoyer une onde carrée de 16 MHz à la broche 2 (CLK1) de l’ATtiny85, en utilisant le code de cette page . Cependant, lorsque j’ai essayé de programmer l’AVR avec les deux Arduinos connectés (à la fois l’horloge et le programmeur), j’ai eu la même erreur qu’auparavant. Une idée de ce qui ne va pas?

AndrejaKo

Avez-vous pris connaissance de la partie haute tension du message auquel vous êtes lié? Voilà ce que vous devez faire. Êtes-vous sûr que l’Arduino peut fournir directement +12 V (je pense que ce n’est pas possible, mais je ne l’ai jamais utilisé).

Shungun

Un Arduino ne peut pas fournir seul le 12V. Sauf si vous avez une alimentation 12V et utilisez un transistor pour allumer et éteindre.

JellicleCat

Voulez-vous dire que j’ai besoin de 12V pour le signal d’horloge? J’ai interprété l’article pour dire que je n’ai besoin que de 12V si je veux résoudre le problème via la programmation parallèle haute tension, mais je devrais être en mesure d’éviter cela complètement et de programmer l’AVR comme d’habitude si je peux simplement fournir le signal d’horloge souhaité, non? Voir ma modification ci-dessus.

Réponses


 JellicleCat

Les gars des forums Arduino m’ont aidé. Apparemment, mon code ne créait pas de PWM. Sinon, le concept est solide. Voici leur réponse et toutes mes étapes.


 Kurt E. Clothier

En fait, si la commande que vous avez entrée est vraiment celle que vous avez utilisée, vous n’avez pas réglé le fusible pour une source d’horloge externe de quelque nature que ce soit. L’octet de fusible bas de 0x62 est le paramètre de fusible par défaut pour le périphérique ATtiny85 qui utilise l’oscillateur interne à 8 MHz. Vous pouvez facilement le vérifier dans la fiche technique ou sur ce site Web qui est un excellent outil pour trouver les fusibles appropriés:

http://www.engbedded.com/fusecalc

Vous définiriez normalement la fréquence MCU dans le MAKEFILE, mais je ne sais pas comment cela fonctionne avec Arduino. Ensuite, vous n’auriez pas besoin de spécifier le débit en bauds (-b 19200) car cela serait déterminé par le programmeur et AVRDUDE.

Si vous ne pouvez vraiment plus communiquer avec l’appareil, vous devrez peut-être utiliser un HVSP pour réinitialiser les fusibles par défaut. J’en ai construit un à cet effet .. ce n’est pas si difficile si vous en savez beaucoup sur les appareils AVR. Voici un site Web détaillant certaines des étapes:

http://www.simpleavr.com/avr/hvsp-fuse-resetter

JellicleCat

Vous aviez raison sur la signification de 0x62 (je suppose que j’ai réellement réglé le fusible sur 0x60). Et merci pour les instructions de réinitialisation du fusible hvsp.


 Vorac

En regardant la section des fusibles de la fiche technique, ces fusibles pourraient vous intéresser:

  • CKOUT – émet l’horloge des appareils sur la broche CLKO. Cela devrait être parfait pour alimenter l’appareil endommagé avec une horloge de l’Arduino qui fonctionne. Si les problèmes persistent, essayez de fournir une horloge plus lente (par exemple 1 MHz)

  • RSTDISBL et SPIEN – Je vous recommande de ne jamais toucher ces fusibles – sinon vous aurez besoin d’une programmation série haute tension pour récupérer (été là)

 

#de, ATtiny85,, désormais, fusibles, modifiés, non, périphérique, signature, sur, valide

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *