error avrdude - error de protocolo stk500_paged_write()

Estoy usando mi Arduino Uno como programador para programar mi ATtiny85. Subí el boceto de ArduinoISP a mi Uno. Revisé dos veces mi cableado, busqué en Google, pero todavía no puedo entender por qué recibo este error...

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x11
avrdude: stk500_cmd(): programmer is out of sync

... cuando ejecuto este comando:

sudo avrdude -p t85 -c arduino -P /dev/ttyACM0 -b 19200 -U flash:w:src.hex\

Luego revisé para ver si ATtiny estaba respondiendo, ejecuté este comando:

sudo avrdude -P /dev/ttyACM0 -p t85 -b 19200 -c avrisp -v

Los resultados fueron exitosos.

EDITAR:

Aquí están las marcas de tiempo (por si acaso):

15:24:29.502445729 E: 
15:24:29.623628385 E: avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 
15:24:29.761744829 E: avrdude: AVR device initialized and ready to accept instructions 
15:24:29.766251405 E: 
15:24:29.812810614 E: Reading | ################################################## | 100% 0.05s 
15:24:29.821187588 E: 
15:24:29.825324777 E: avrdude: Device signature = 0x1e930b 
15:24:30.171341329 E: avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed 
15:24:30.180631410 E: To disable this feature, specify the -D option. 
15:24:30.334997131 E: avrdude: erasing chip 
15:24:30.495926604 E: avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85 
15:24:30.632387526 E: avrdude: reading input file "src.hex" 
15:24:30.637210000 E: avrdude: input file src.hex auto detected as Intel Hex 
15:24:30.641710226 E: avrdude: writing flash (98 bytes): 
15:24:30.645806835 E: 
15:24:30.712364458 E: Writing | 
15:24:30.718291473 E: avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x11 
15:24:30.752474103 E: avrdude: stk500_cmd(): programmer is out of sync 
15:24:30.827210626 I: Finished with exitcode 1

Parece que no puedo entender lo que está mal. ¿Alguna sugerencia?

¿Por qué sigues cambiando la configuración -c?
De acuerdo con el archivo programmers.txt en el IDE de Arduino, la configuración -c debe ser "stk500v1", aunque "arduino" es muy similar.
@ChrisStratton No importa si es arduinoo avrisp, son lo mismo.
@microtherion Probé stk500v1en lugar de arduino, sucedió lo mismo ...
Utilizo el boceto ISP en un Uno sin componentes antirreinicio, -cstk500v1 y no tengo problemas para programar attiny85, aunque también estoy usando -pattiny85 como identificador de parte, usando una configuración avrdude que vino con una instalación de arduino (y especificando la ruta a esa configuración con la opción -C).
@ChrisStratton Lo probé sin ningún componente de reinicio, eso tampoco funcionó...
Por favor, publique una foto de su configuración.
Use la versión ArduinoISP que está en el Archivo => Ejemplos => ArduinoISP
@jippie hice exactamente eso
¿Está completamente seguro de que su archivo es válido para un pequeño 85? Por ejemplo, podría intentar poner código en direcciones inexistentes. Un archivo hexadecimal que represente 98 bytes no sería demasiado largo para incluirlo en su pregunta.
Tres cosas más que puede probar: (1) Ingrese al modo interactivo de avrdude con la -tbandera y pruebe algunas escrituras flash desde allí. (2) agregue algunas -vbanderas más, para que pueda ver los comandos reales del ISP emitidos. (3) Pruebe mi boceto ScratchMonkey microtherion.github.io/ScratchMonkey , que es compatible con pines con ArduinoISP, pero usa el protocolo stk500v2 en su lugar.

Respuestas (7)

Resolví exactamente el mismo problema al actualizar el IDE de arduino de 1.00 a 1.05 desde http://code.google.com/p/arduino/downloads/list

Esta versión de Arduino IDE contiene una nueva versión del boceto ArduinoISP.

Estaba recibiendo este error con mi Arduino Uno

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x11 

Tenía un protoshield conectado y cuando desconecté el protoshield todo empezó a funcionar bien.

EDITAR

Después de solucionar algunos problemas adicionales, descubrí que no era el protoshield, era que el protoshield no tenía TX / RX marcados para los pines 0 y 1 de PWM digital. Una vez que desconecté los cables de 0 (tx) y 1 (rx) eso resolvió mi problema.

También tuve el problema: "avrdude: stk500_paged_load(): (a) error de protocolo, expect=0x14, resp=0x00. avrdude: stk500_cmd(): el programador no está sincronizado".

Más tarde se rindió. Luego usé otro cable USB (correcto) en lugar de un cable USB delgado suministrado con un ISP de Pololu para otra cosa y me di cuenta de que el cable que usé con el Arduino Nano puede ser de calidad inferior. Cambié el cable y - ¡todos mis problemas están resueltos!

Tenía un cable USB largo (10 ') conectado a un concentrador USB de 9 puertos con alimentación.

La conexión directa a mi Mac solucionó este problema de inmediato.

He notado que, dependiendo de su estado de ánimo, conectarse directamente a la máquina puede solucionar problemas de carga.

En mi caso, la instalación de "AVR-GCC Toolchain" a través de Homebrew solucionó todos estos problemas.

Todos los detalles necesarios aquí: http://maxembedded.com/2015/06/setting-up-avr-gcc-toolchain-on-linux-and-mac-os-x/

Desconecte todas las conexiones en su dispositivo de placa arduino e intente cargar el código en su placa arduino. resuelvo este problema. Puede haber uno de su hardware problemático, conectado a su placa arduino.

También tuve el problema: "avrdude: stk500_paged_load(): (a) error de protocolo, expect=0x14, resp=0x00. avrdude: stk500_cmd(): el programador no está sincronizado".

Sí... Luego desconecté todas las conexiones en Bluetooth... después de compilar el programa, conecté mi Bluetooth al Ardiuno uno... Luego no obtuve ningún error.