Subir a un Arduino desde la línea de comando

8

Si tengo un boceto compilado en hexadecimal, ¿es posible cargar este boceto en una placa Arduino usando avrdude directamente desde la línea de comandos?

Pekkaa descubrió que arduino ide ejecuta el siguiente comando al cargar el boceto:

./hardware/tools/avrdude -Chardware/tools/avrdude.conf -pm328p -cstk500v1 -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/pekka/sketchbook/Blink2/applet/Blink2.hex 
littlebirdceo
fuente

Respuestas:

5

El IDE de arduino restablece el arduino adjunto antes de ejecutar avrdude. Lo hace diciéndole al dispositivo FTDI que pulse la línea DTR que está conectada al pin de reinicio del arduino. Pekkaa encontró el código perl de ejemplo que hace esto y actualizó el hilo en los foros de Arduino.

Para completar, aquí está el comando que usaron para cargar el archivo .hex:

perl -MDevice::SerialPort -e 'Device::SerialPort->new("/dev/ttyUSB0")->pulse_dtr_on(1000)'; \
./hardware/tools/avrdude -Chardware/tools/avrdude.conf -q -q -pm328p -cstk500v1 -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/pekka/sketchbook/Blink2/applet/Blink2.hex;

También hay un script de Python para resetear arduinos que puede usarse en lugar del Perl si tiene problemas para que funcione en su sistema.

Adán
fuente
URL correcta para el código de Python de la Universidad de Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave
Interfirió su sugerencia en la respuesta de @ Adam; Será actualizado pronto. ¡Gracias!
mordida del
IIRC puede realizar el restablecimiento usando stty sin necesidad de python o perl.
Chris Stratton