31 lines
690 B
Bash
Executable File
31 lines
690 B
Bash
Executable File
#!/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
|