Carregar para um Arduino a partir da linha de comando

8

Se eu tiver um esboço compilado em hexadecimal, será possível fazer o upload desse esboço para um quadro do Arduino usando o avrdude diretamente da linha de comando?

Pekkaa descobriu que o arduino ide executa o seguinte comando ao fazer o upload do esboço:

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

Respostas:

5

O IDE do arduino redefine o arduino conectado antes de executar o avrdude. Isso é solicitado ao dispositivo FTDI para pulsar a linha DTR que está conectada ao pino de redefinição do arduino. Pekkaa encontrou o exemplo de código perl que faz isso e atualizou o thread nos fóruns do Arduino.

Para completar, aqui está o comando que eles usaram para fazer upload do arquivo .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;

Há também um script python para redefinir os arduinos, que pode ser usado no lugar do perl, se você tiver problemas para fazê-lo funcionar no seu sistema.

Adão
fonte
URL correta para o código python da Universidade de Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave
Coloque sua sugestão na resposta do @ Adam; será atualizado em breve. Obrigado!
boardbite
No IIRC, você pode realizar a redefinição usando stty sem precisar de python ou perl.
22430 Chris Stratton