Von der Kommandozeile auf ein Arduino hochladen


8

Wenn ich eine zu hexadezimal kompilierte Skizze habe, ist es dann möglich, diese Skizze mit avrdude direkt über die Befehlszeile auf ein Arduino-Board hochzuladen?

Pekkaa hat herausgefunden, dass arduino ide beim Hochladen der Skizze den folgenden Befehl ausführt:

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

Antworten:


5

Die Arduino-IDE setzt das angehängte Arduino zurück, bevor avrdude ausgeführt wird. Dazu wird das FTDI-Gerät angewiesen, die DTR-Leitung zu pulsieren, die an den Reset-Pin des Arduino angeschlossen ist. Pekkaa hat den Beispiel-Perl-Code gefunden, der dies tut, und den Thread in den Arduino-Foren aktualisiert.

Der Vollständigkeit halber hier der Befehl, mit dem die .hex-Datei hochgeladen wurde:

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;

Es gibt auch ein Python-Skript zum Zurücksetzen von Arduinos, das anstelle des Perl- Skripts verwendet werden kann, wenn Sie Probleme haben, es auf Ihrem System zum Laufen zu bringen .


Richtige URL für den Python-Code von der University of Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave

Hat Ihren Vorschlag in die Antwort von @ Adam integriert. es wird bald aktualisiert. Vielen Dank!
Boardbite

Mit IIRC können Sie das Zurücksetzen mit stty durchführen, ohne Python oder Perl zu benötigen.
Chris Stratton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.