The AVR toolchain, C libraries, and the avrdude downloader/uploader, can be installed from the Ubuntu repositories:
apt-get install gcc-avr avr-libc avrdude
Clone the avr-template repository (or fork it and clone your own repository).
git clone email@example.com:uctools/avr-template
Modify the Makefile:
- Set TARGET to the desired name of the output file (eg: TARGET = main)
- Set SOURCES to a list of your sources (eg: SOURCES = main.c two.c three.c)
- Set MCU to the AVR part number to build for (eg: MCU = atmega328p)
By default, the Makefile will build code for the ATmega328p, which is the microcontroller on the Arduino
The output files will be created in the 'build' folder
- Modify the Makefile
Set PROGRAMMER to your programmer. This will be the
-coption for avrdude
Set PORT to the port your programmer is on. This will be the
-Poption for avrdude
By default, the Makefile will flash an Arduino conenected over USB on
/dev/usbACM0using the Arduino bootloader.
make flash. You may need to run this command as root (
sudo make flash) if your user cannot access the port.