Atmega328p, avrdude y setup

2

Estoy empezando a aprender a programar microcontroladores. Esta es mi configuración actual.

CuandointentoflashearunprogramaHelloWorldconAVRDude,apareceelsiguientemensaje:

avrdude:initializationfailed,rc=-1Doublecheckconnectionsandtryagain,oruse-Ftooverridethischeck.

Hecomprobadolamayoríadelasopcionesenesta guía pero ninguna de ellas parece resolver este problema . También usar el cristal de 16MHz no ayuda.

Quería preguntarte si podrías revisar mi configuración y también señalarme lo que estoy haciendo mal.

Para dejarlo claro, mi entorno de desarrollo es: Debian / Pocket AVR Programmer.

    
pregunta Lazy

2 respuestas

3

Bueno, dos cosas, suponiendo que tiene el pinout de programación correcto, le faltan tapas de carga para su cristal y una resistencia pullup en el pin de reinicio. Como el comportamiento predeterminado en un chip no programado no usa el cristal, apuesto a que es la recuperación que te está faltando. Eche un vistazo a la siguiente página, debería aclarar todo esto.

Arduino en un tablero de prototipos

    
respondido por el s3c
1

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.

    
respondido por el jippie

Lea otras preguntas en las etiquetas