He soldado mi ATMega328p-au a una placa SMD a DIP, y he conectado pines como este:
USB | ATMega
RX --- > TX
TX --- > RX
5v ---- > 5v
GND - > GND
y GND - > botón - > RESET
Mi convertidor USB-TTL no tiene un pin DTR. Pero, traté de programar mi Arduino UNO con eso. Tengo el pin RESET en mi Arduino UNO, haga clic en subir y suelte el botón. Funciona.
Cuando hago lo mismo con ATMega, avrdude / Arduino IDE me da esta salida:
~$ sudo avrdude -c arduino -p atmega328p -P /dev/ttyUSB0 -U flash:w:blink.hex
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
...
avrdude: stk500_recv(): programmer is not
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
avrdude done. Thank you.
El mismo error con -c avrisp
y en el IDE de Arduino.
1) ¿Necesito algo especial por primera vez, como quemar un cargador de arranque? Leí que puedo flashearlo sin quemar el cargador de arranque, así que no creo que ese sea el caso.
2) También vi a mucha gente usando cristal y condensador para flashear. ¿Es necesario? Porque no tengo cristal.
3) Si puedo flashearlo sin un gestor de arranque y sin un cristal, ¿qué estoy haciendo mal?
¡Gracias!
Editar: Parece que necesitaba un programador ISP. Aunque lo intenté con el programador ISP no funcionó. ¡Conecté un cristal de 16MHz y lo programé exitosamente!