Estoy usando un Arduino UNO para programar una imagen hexadecimal precompilada en un ATTINY45, usando avrdude en el directorio Arduino IDE, en Windows 7. El Uno tiene el boceto ISP cargado desde el directorio de ejemplos y eso funciona: el LED del latido del corazón pulsa muy bien
En el lado del hardware tengo esta configuración , excepto que el ATTINY está montado en la superficie, soldado a una tabla de surf con todos sus pines verificados y soldados con un voltímetro. Utilizo una tira de pin de encabezado, sostenida con la mano para que los pines toquen la tabla de surf, para obtener las señales del Uno al ATTINY.
Aquí están las líneas de comando, que tomé al mirar la salida de depuración del IDE:
REM set the fuse for 8MHz, so the ISP programmer can work
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m
REM load the program
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -Uflash:w:firefly.hex:i
REM set fuse for 1MHz, as the project requires
C:\Progra~1\Arduino\hardware/tools/avr/bin/avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m
Intento ejecutarlos por separado, pero siempre obtengo este error:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
pero a veces el número es ff0000 o ffff00 o ffffff
Leí que "Arduino usa una versión ligeramente modificada de avrdude para cargar bocetos en la placa Arduino. La versión estándar consulta la firma del dispositivo de la placa de una manera que el gestor de arranque no entiende, lo que da como resultado este error". ¿Esto significa que usar el Arduino avrdude con un nuevo chip ATTINY, sin cargador de arranque, también causaría el mismo error? En otras palabras, ¿el avrdude modificado es incapaz de consultar un chip AVR no cargado con Arduino?
¿O ese error simplemente significa que no tengo un buen contacto entre todos mis pines del programador y ATTINY?
Y, ¿son realmente necesarios los ajustes de fusibles? ¿Puede Uno programar el flash en un funcionamiento attiny a 1MHz y así ahorrarme algunos pasos?
(Simplemente compraría un programador "real", pero necesito obtener este código en los próximos dos días, y estoy en una zona rural de Nueva Escocia)
-carduino
el stk500. Simplemente intente cargar el programa de parpadeo a la atención desde el IDE. De esa manera puede ver la línea de comandos correcta en la parte inferior, si habilita "salida detallada" en la configuración.
-c avrisp
. Creo que puedes programarlo a 1 MHz sin problemas.