all : program.hex burn program.lst CC = avr-gcc OBJS = test.o avr_print.o enc28j60.o iparpetc.o enc28j60_asm.o tcp.o SRCS = test.c avr_print.c enc28j60.c iparpetc.c enc28j60_asm.S tcp.c PROCESSOR=atmega168 PROGRAMCODE=m168 COMMON_FLAGS= -mmcu=$(PROCESSOR) -I. -Iusbdrv CFLAGS = -Wall -std=gnu99 -Os $(COMMON_FLAGS) -DF_CPU=20000000UL AS = avr-gcc ASFLAGS = $(COMMON_FLAGS) -c program.elf : $(OBJS) avr-gcc -I -mmcu=$(PROCESSOR) $(CFLAGS) -Wl,-Map,program.map -o $@ $^ -L /usr/lib64/binutils/avr/2.19.1 program.hex : program.elf avr-objcopy -j .text -j .data -O ihex program.elf program.hex program.lst : $(SRCS) avr-gcc -c -g -Wa,-a,-ad $(CFLAGS) $^ > $@ burn : program.hex avrdude -c usbtiny -p $(PROGRAMCODE) -U flash:w:program.hex readfuses : avrdude -c usbtiny -p $(PROGRAMCODE) -U hfuse:r:high.txt:b -U lfuse:r:low.txt:b #careful here... #burnfuses : # sudo avrdude -c usbtiny -p $(PROGRAMCODE) -U lfuse:w:0xE6:m -U hfuse:w:0xDF:m #use crystal on mega48/168 burnfuses : avrdude -c usbtiny -p $(PROGRAMCODE) -U lfuse:w:0xE6:m -U hfuse:w:0xDF:m clean : rm -f *~ high.txt low.txt program.hex program.map program.elf $(OBJS) *.o usbdrv/*.o usbdrv/*~ program.lst serial : stty -F /dev/ttyUSB0 4800 -parenb -echo -cstopb