Go Down

Topic: [RESOLU] ATtiny85 - Impossible de reflasher (Read 2383 times) previous topic - next topic

barbudor

Nov 25, 2012, 08:42 pm Last Edit: Dec 02, 2012, 07:16 pm by barbudor Reason: 1
Bonjour

Je suis en train d'essayer de me mettre au ATtiny85 en utilisant l'additif http://code.google.com/p/arduino-tiny/
J'ai aussi un USBasp chinois.

Au début tout allait bien, j'ai joué avec les différentes configs basée sur l'oscillateur interne (1MHz, 8MHz et 16 MHz)
J'ai pu utiliser digitalRead/digitalWrite/analogRead/analogWrite et Serial  8)

Les problèmes ont commencé quand j'ai voulut jouer avec les fusibles....  :smiley-roll-sweat:
La config par défaut fait que la pin 1 PB.5 est aussi /RESET
Ce qui ne me plaisait pas. Y'as déjà pas beaucoup de broches donc si on en perd une pour le reset....

J'ai donc voulut désactiver la fonction reset et je me suis dit alors que si le reset externe était désactivé, il fallait mieux alors activer le BOD afin d'avoir un reset propre.

Je suis donc passé de
Code: [Select]
attiny85at8.bootloader.low_fuses=0xE2
attiny85at8.bootloader.high_fuses=0xD7
attiny85at8.bootloader.extended_fuses=0xFF

à
Code: [Select]
attiny85at8nres.bootloader.low_fuses=0xE2
attiny85at8nres.bootloader.high_fuses=0x55
attiny85at8nres.bootloader.extended_fuses=0xFF

(en créant une nouvelle "board")

J'ai essayé de reflasher les fusible en utilisant "Burn bootloader".
Mais depuis plus rien ne marche sur ce 1er ATtiny85.
J'ai sortit un autre ATtiny85 tout neuf et là j'arrive a reprogrammer les fusibles en utilisant les configs d'origine mais je n'ose pas ré-essayer ma config modifiée sans reset.

Pensez vous que j'ai fait une co...rie dans mes fusibles ?
Est-ce que le 1er ATtiny pourrait être récupérable ? comment ?

Merci d'avance

log de AVRdude avec le ATtiny foireux pour la commande "Burn bootloader"
Code: [Select]
avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2009 Joerg Wunsch

        System wide configuration file is "D:\Projets\tools\arduino-attiny\hardware/tools/avr/etc/avrdude.conf"

        Using Port                    : usb
        Using Programmer              : usbasp
avrdude: seen device from vendor ->www.fischl.de<-
avrdude: seen product ->USBasp<-
        AVR Part                      : ATtiny85
        Chip Erase delay              : 4500 us
        PAGEL                         : P00
        BS2                           : P00
        RESET disposition             : possible i/o
        RETRY pulse                   : SCK
        serial program mode           : yes
        parallel program mode         : yes
        Timeout                       : 200
        StabDelay                     : 100
        CmdexeDelay                   : 25
        SyncLoops                     : 32
        ByteDelay                     : 0
        PollIndex                     : 3
        PollValue                     : 0x53
        Memory Detail                 :

                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          eeprom        65     6     4    0 no        512    4      0  4000  4500 0xff 0xff
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          flash         65     6    32    0 yes      8192   64    128  4500  4500 0xff 0xff
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

        Programmer Type : usbasp
        Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
        Double check connections and try again, or use -F to override
        this check.


avrdude done.  Thank you.


Note: je vois bien dans le log qu'il me conseille de mettre a jour mon USBasp mais :
- il marche avec un autre ATtiny
- il n'y a pas eu de mise à jour depuis mai 2011 donc je suppose qu'il est à jour (acheté en septembre)
- je ne trouve pas de consignes claires pour reflasher un USBasp (j'ai bien compris le but de JP2, j'ai 2 USBasp mais jene trouve pas les commandes avrdude à passer)

===================================
SOLUCE
Convertir la broche RESET en IO supprime la possibilité de reprogrammer en ICSP (cf les références données ci-après).
Il faut alors reflasher les fusibles en utilisant la méthode HVSP (High-voltage Serial Programming).
Après avoir bricolé sur un shield proto un montage équivalent à celui du AVR HV Rescue Shield 2 et son sketch, j'ai pu rétablir les fusibles dans leur version d'origine.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

al1fch

#1
Nov 25, 2012, 09:39 pm Last Edit: Nov 25, 2012, 09:59 pm by al1fch Reason: 1
Bonsoir Barbudor

bienvenue au club !!  Normal ,c'est tentant de vouloir libérer une pin  !
En perdant son Reset ta puce a perdu la possibilité de flashage ISP habituel (20.5 de la datasheet)
Pour remettre d'aplomb  le fusible 'fautif' Il reste le recours à la 'programmation série haute tension' avec un programmateur qui la supporte. (mode HVSP)
(voir les paragraphes 20.6 et 20.7 de la Data Sheet)

+Içi un bon descriptif des divers modes utilisés en général pour les AVR (en particulier ISP et HVSP pour le Tiny85)
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=38691&start=60

barbudor



Et m.... et re-m.... et #$@&µ%!!!!!!!!

Y'aurait pas un montage à base d'Arduino pour faire un programmateur HVSP ? Je vais chercher...

Donc impossible de conserver la programmation SPI/ISCP et libérer PB.5
C'est pas glop.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

al1fch

#3
Nov 25, 2012, 09:51 pm Last Edit: Nov 25, 2012, 10:11 pm by al1fch Reason: 1
sous toutes réserves , et pas pour Tiny85,  il y a ça en 'HVPP'... il faut pour toi un algo série
http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/

Je découvre à l'instant  le 'Shield de secours' en version 2 , Open Source, qui résuciterai le Reset des 8 pins !!
http://mightyohm.com/blog/products/hv-rescue-shield-2-x/
Ce n'est pas un véritable programmateur , il ne gère que les fusibles :
Quote
It is intended only for programming the AVR's configuration fuses: HFUSE, LFUSE, and EFUSE (where applicable).

barbudor

Je viens aussi de le découvrir
Je vais essayer de monter ca sur une plaquette, je vous tiens au courant
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?


skywodd

Salut,

C'est une erreur de débutant ça :smiley-mr-green:
Il y a plein de fusibles dangereux à ne surtout pas toucher, "Reset disable" sur les Attiny, "ISP disable" sur les ATmega, ...
Un des inconvénients des AVR c'est qu'il est justement trop simple de bricker un AVR en touchant à des fusibles dangereux ...

Je te conseille de bricoler ce montage sur un coin de protoboard, il te sauvera la vie plus d'une fois (j'ai testé :smiley-mr-green:) :
http://www.simpleavr.com/avr/hvsp-fuse-resetter
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

barbudor

J'ai bricolé le montage de HV Rescue Shield v2 sur une plaquette et j'ai pu recupérer mon ATtiny.
merci.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

al1fch

#8
Dec 02, 2012, 07:47 pm Last Edit: Dec 02, 2012, 08:03 pm by al1fch Reason: 1
merci du retour
tu as remplacé le MUN5311 par l'équivalent en composants discrets  ? tu as une solution alternative pour switcher le 12V?
le 'tiny' ont de plus en plus d'adeptes et un jour ou l'autre la solution HV Rescue shield 2 'maison' viendra à point !!

barbudor

Version "j'ai pris ce que j'avais dans mes tiroirs" : BC547 + 2N2905
J'ai mis le bouton poussoir mais pas les leds ....
Je me suis passé du boost aussi et j'ai pris une alim 12V que j'ai repiquée sur le VIN.

J'ai quand même un problème : normalement le ATtiny est alimenté par la pin 12 de l'Arduino. Toutefois dans mon cas la pin monte bien à 4.83V sans le ATtiny mais si le ATtiny est en place, elle ne monte que jusqu'à 1.5V ce qui fait que ca ne marchait pas.
Pour réparer mon ATtiny j'ai mis un fil vers le VCC et c'est passé mais quand même y'a un truc qui méchappe.

Comment se fait-il que la conso due au ATtiny fasse tomber la pin à ce point ?

Sur l'autre montage de récupérateur que j'avais trouvé (http://mdiy.pl/attiny-fusebit-hvsp-doctor/?lang=en) il met des 330 ohms en série sur chaque broche. C'est peut être une bonne idée.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

barbudor

#10
Dec 10, 2012, 11:05 pm Last Edit: Dec 10, 2012, 11:36 pm by barbudor Reason: 1
Nouveau problème !

Samedi, tout marchait bien. J'ai transformé un strip de leds de couleurs acheté pas chèr chez Lidl en une guilande clignotante. PIle-poil.

Dimanche, plus rien ne marche.
Impossible de flasher un autre ATtiny, ni un autre ni un 3eme.

AVRdude m'insulte avec :
Code: [Select]

D:\Projets\tools\arduino\hardware/tools/avr/bin/avrdude -CD:\Projets\tools\arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny85 -cusbasp -Pusb -Uflash:w:d:\tmp\build9134072407655558669.tmp\guirlande_2.cpp.hex:i

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "D:\Projets\tools\arduino\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
avrdude: seen device from vendor ->www.fischl.de<-
avrdude: seen product ->USBasp<-
         AVR Part                      : ATtiny85
         Chip Erase delay              : 4500 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

......
         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


J'ai changé de programmateur USBasp (j'en avait acheté 2), j'ai changé de cable, ...
J'ai essayé de réinstaller le driver USBasp
J'ai vérifié les fusibles de mes ATtiny avec la manip ci-dessus.
Niet.

Une idée de ce qui a pu foirer entre samedi et dimanche ?



EDIT: Mes ATTiny sont OK. Pas de problème pour les reflasher avec ArduinoISP. Donc pb avec mes 2 USBasp, ca sent le pb de driver. Foutu Windows :(
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

skywodd


Code: [Select]

avrdude: auto set sck period (because given equals null)
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


Essaye de jouer avec l'option -B 1 et -i n (avec n entre 1 et 100).
C'est peut être un problème de vitesse d'horloge.


EDIT: Mes ATTiny sont OK. Pas de problème pour les reflasher avec ArduinoISP. Donc pb avec mes 2 USBasp, ca sent le pb de driver. Foutu Windows :(

C'est toujours la faute de windows c'est bien connu :smiley-mr-green:
Je dirai plutôt que ça sent le PEBCAK ou le câblage foireux. :P
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

barbudor


C'est toujours la faute de windows c'est bien connu :smiley-mr-green:
Je dirai plutôt que ça sent le PEBCAK ou le câblage foireux


Désinstallé le driver pour la 3eme fois, réinstallé et ce soir ca à marché
Rien touché au câblage.
Le PEBCAK plaide innocent.
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

skywodd


Désinstallé le driver pour la 3eme fois, réinstallé et ce soir ca à marché
Rien touché au câblage.

"Dans le doute, reboot" :smiley-mr-green:


Le PEBCAK plaide innocent.

Mouai, c'est louche tout ça :smiley-mr-green:
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

barbudor

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Go Up