avrdude: inicialización fallida, rc=-1

al intentar programar los fusibles me sale este conocido mensaje de error:

$ sudo avrdude -c usbtiny -p m328p -U hfuse:w:0x05:m

avrdude: la inicialización falló, rc=-1 Vuelva a verificar las conexiones y vuelva a intentarlo, o use -F para anular esta verificación.

Avrdude hecho. Gracias.

Aquí está con -vvvv $ sudo avrdude -c usbtiny -p m328p -U hfuse:w:0x05:m -vvvv:: pastebin.com/mcdyiHYq

Agregar -B20 o -B250 no ayuda.

-> Sé exactamente cómo causé esto: $ sudo avrdude -c usbtiny -p m328p -U hfuse:w:0x11:m. Lo cableado es la salida y eso muestra que E:11está configurado en lugar de H:11. pastebin.com/wE7uwC31 ¿ Por qué avrdude configuró el fusible incorrecto: \ y es esto un error en avrdude?

-> -B250 funcionó una vez cuando lo necesitaba: Primero lo hice $ sudo avrdude -c usbtiny -p m328p -U lfuse:w:E3:m, pero cuando traté de volver a configurarlo 0x62obtuve initialization failed, rc=-1, agregué -B250y $ sudo avrdude -c usbtiny -p m328p -U lfuse:w:E3:mfuncionó. La cuestión es que no funciona ahora cuando configuro el otro fusible 0x11como se describe.

-> Todo está bien conectado porque si pruebo un mismo chip ATmega328P-PU diferente, funciona. Así que tiene algo que ver con esta 0x11configuración de fusibles que hice. Y también el código que se ejecuta en este chip sigue funcionando y la pantalla LCD adjunta muestra los resultados correctos.

Esto es lo que establece la 0x11configuración de fusible alto, pero no es como si esta configuración significara que está configurada como "bloqueada" o algo así.

Respuestas (1)

Desafortunadamente, ha programado el bit de fusible RSTDISBL, lo que significa que el ISP ya no funcionará. Deberá encontrar o construir un programador HVPP para desprogramar ese bit de fusible.

más información

Lo realmente malo de esto es que (explícitamente) escribí hfuse:w:0x11:m, pero se configuró el fusible incorrecto: \ ¿Es esto un error en avrdude?
No. Establecer un bit de fusible en 0 lo programa.
No entiendo tu repetición. ¿Qué bit de fusible puse en 0?
El bit de fusible RSTDISBL.
Lo que no tiene sentido con los bits de fusible AVR es que usan lógica inversa para la programación. Lo que significa que si desea habilitar una opción de fusible, debe programarla con un 0!