#!/bin/bash set -x AVRGCC=/home/jpt/arduino-1.8.8/hardware/tools/avr/bin/avr-gcc AVROBJCOPY=/home/jpt/arduino-1.8.8/hardware/tools/avr/bin/avr-objcopy DEVICE=atmega328p F_CPU=20000000 CFLAGS="-Iusbdrv -I. -DDEBUG_LEVEL=0" COMPILE="$AVRGCC -Wall -Os -DF_CPU=$F_CPU $CFLAGS -mmcu=$DEVICE" OBJECTS="usbdrv.o usbdrvasm.o" NAME="usbtest" # Cleanup rm -vf *.o *.elf *.hex # Compile $COMPILE -c $NAME.c $COMPILE -c usbdrv/usbdrv.c $COMPILE -x assembler-with-cpp -c usbdrv/usbdrvasm.S # Link $COMPILE -g $NAME.o $OBJECTS -o $NAME.elf # Convert hex $AVROBJCOPY -j .text -j .data -O ihex $NAME.elf $NAME.hex # Upload avrdude -P /dev/ttyUSB0 -c arduino -p m328p -b 19200 -U flash:w:$NAME.hex