Using an Arduino? Love the CLI (Command Line Interface)? Perhaps Makefile is for you.
Hopefully I will be doing a series on Arduino and make. We will see if there is any demand. Hopefully, this is just the first. This is specifically for the Leonardo for now. The rest will be more flexible.
You will need:
Using avrdude for this chip is pretty straight forward. It’s not unlike any other AVR for the most part. The only thing that you have to do differently is kick the chip into the bootloader – without manually hitting the reset button. The way this happens is: Connect to the chip at 1,200 baud, and disconnect. Wham, chip is in bootloader. Now you may connect with avrdude at the upload baud(57,600).
There are two parts to this: A Python script to kick the chip into bootloader, and the avrdude command to upload. Here are the files for your pleasure.
<br /> #!/usr/bin/env python</p> <p>import serial, sys</p> <p>serialPort = sys.argv</p> <p>ser = serial.Serial(<br /> port=serialPort,<br /> baudrate=1200,<br /> parity=serial.PARITY_NONE,<br /> stopbits=serial.STOPBITS_ONE,<br /> bytesize=serial.EIGHTBITS<br /> )</p> <p>ser.isOpen()<br /> ser.close() # always close port</p> <p>
<br /> PORT = /dev/ttyACM0</p> <p>burn:<br /> python reset.py $(PORT)<br /> sleep 2<br /> avrdude -patmega32u4 -cavr109 -P$(PORT) -b57600 -D -Uflash:w:./Blink.cpp.hex:i</p> <p>
Need help with avrdude? Ladyada has an excellent tutorial for it. http://www.ladyada.net/learn/avr/avrdude.html
Enjoy! I have a github.com project for this: https://github.com/nicholaskell/Arduino_Loader Fork it, improve it, and send me pull requests.