Загрузить на Arduino из командной строки


8

Если у меня есть эскиз, скомпилированный в гекс, можно ли загрузить этот эскиз на плату Arduino, используя avrdude прямо из командной строки?

Пекка понял, что arduino ide выполняет следующую команду при загрузке скетча:

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

Ответы:


5

IDE arduino сбрасывает подключенное arduino перед запуском avrdude. Он делает это, сообщая устройству FTDI пульсировать линию DTR, которая подключена к выводу сброса arduino. Пекка нашел пример кода Perl, который это сделал, и обновил ветку на форумах Arduino.

Для полноты вот команда, которую они использовали для загрузки файла .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;

Существует также скрипт Python для сброса arduinos, который можно использовать вместо perl, если у вас возникли проблемы с его работой в вашей системе.


Правильный URL-адрес для кода Python из Кентского университета: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Дейв

Включил ваше предложение в ответ @ Adam; это будет обновлено в ближайшее время. Спасибо!
Boardbite

IIRC вы можете выполнить сброс, используя stty, без необходимости использования python или perl.
Крис Страттон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.