Carica su un Arduino dalla riga di comando


8

Se ho uno schizzo compilato in esadecimale, è possibile caricare questo schizzo su una scheda Arduino usando avrdude direttamente dalla riga di comando?

Pekkaa ha capito che Arduino ide esegue il seguente comando durante il caricamento dello schizzo:

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

Risposte:


5

L'IDE arduino reimposta l'arduino collegato prima di eseguire avrdude. Lo fa dicendo al dispositivo FTDI di pulsare la linea DTR che è collegata al pin di reset di Arduino. Pekkaa ha trovato il codice perl di esempio che lo fa e ha aggiornato il thread sui forum di Arduino.

Per completezza ecco il comando che hanno usato per caricare il file .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;

C'è anche uno script Python per resettare gli Arduinos che può essere usato al posto di quello perl se hai problemi a farlo funzionare sul tuo sistema.


URL corretto per il codice Python dell'Università del Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave

Hai integrato il tuo suggerimento nella risposta di @ Adam; sarà presto aggiornato. Grazie!
Boardbite,

IIRC puoi eseguire il reset usando stty senza bisogno di Python o Perl.
Chris Stratton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.