No estoy seguro de si vale la pena una respuesta, pero el formato saldrá mal en un comentario. Permítame compartir con usted un pequeño archivo por lotes que utilizo para programar ATtiny's. Los de Tiny son casi lo mismo que programar como un Mega. También tenga en cuenta que uso un programador diferente ( -c ), pero esa no debería ser la dificultad aquí.
-
freq frecuencia de reloj AVR
-
baud es la velocidad en baudios en la que a mi programador le gusta comunicarse
-
src es el código fuente que se debe compilar
-
avr el tipo de dispositivo a programar
-
dev el dispositivo tal como aparece en dmesg cuando conecto mi programador. Esta es realmente la configuración que considero extraña en tu comando.
#!/bin/bash
freq=9600000/8
baud=19200
src=main.cpp
avr=attiny13
dev=/dev/ttyUSB1
avr-gcc -g -DF_CPU=$freq -Wall -Os -mmcu=$avr -c -o tmp.o $src &&
avr-gcc -g -DF_CPU=$freq -Wall -Os -mmcu=$avr -o tmp.elf tmp.o &&
avr-objcopy -j .text -j .data -O ihex tmp.elf tmp.hex &&
avrdude -p $avr -cstk500v1 -P$dev -b$baud -v -U flash:w:tmp.hex
Puede verificar el dispositivo exacto escribiendo dmesg | tail desde un terminal. Cuando conecto mi programador dice:
[816888.277342] usb 2-2.3: FTDI USB Serial Device converter now attached to ttyUSB1
Observe el nombre de nodo del dispositivo ttyUSB1 .
Pensándolo bien ..., su mensaje de error puede implicar que el problema no es entre su PC y el programador, sino entre el programador y el AVR. Este último caso descalifica mi respuesta por completo.