Avrdude se niega a flashear ATmega328p debido a una firma incorrecta

1

Tengo un montón de tablones de arduino que estoy intentando restaurar: Arduino Uno con chips ATmega328p. No responden a los comandos de parpadeo habituales, por lo que estoy intentando hacer flash a través de los encabezados ICSP de arduino, a través de un bus pirate .

El proceso falla debido a una firma no válida, como por ejemplo:

$ avrdude -c buspirate -P /dev/buspirate -p m328p -v -F

avrdude: Version 6.0.1, compiled on Sep 21 2013 at 11:40:49

         Using Port                    : /dev/buspirate
         Using Programmer              : buspirate
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : BusPirate
         Description     : The Bus Pirate

Attempting to initiate BusPirate binary mode...
BusPirate binmode version: 1
BusPirate SPI version: 1
avrdude: Paged flash write enabled.
AVR Extended Commands not found.
avrdude: initialization failed, rc=-2
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x881608
avrdude: Expected signature for ATmega328P is 1E 95 0F
BusPirate is back in the text mode

avrdude done.  Thank you.

(esto solo ejecuta -v pero al intentar establecer fusibles o flash falla de la misma manera)

Lo extraño es que la firma del dispositivo cambia ligeramente en cada intento, por lo que definitivamente algo no se está comportando correctamente.

Intenté el mismo proceso conectándome directamente a los pines del atmega328p (y no a través de los pines del encabezado ICSP de la placa arduino), pero sin éxito.

¿Se está salvando el atmega328p o no se puede reparar?

    
pregunta Yuval Adam

1 respuesta

1

Necesitas poner un oscilador externo. Supongo que los fusibles para esos chips están programados para un oscilador externo. Una vez que pueda encenderlo con el oscilador externo, cambie los fusibles para poder programarlo sin un oscilador.

    
respondido por el jordi

Lea otras preguntas en las etiquetas