NAME = atusb CFLAGS = -g -Wall -Wextra -Wshadow -Werror -Wno-unused \ -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes CHIP=atmega32u2 CHIP_AVRDUDE=at90usb162 # @@@ fix this when support for the ATmega32U2 becomes # available AVR_PREFIX = $(BIN_PATH) avr- CC = $(AVR_PREFIX)gcc OBJCOPY = $(AVR_PREFIX)objcopy #OBJDUMP = $(AVR_PREFIX)objdump FreakUSB = usb USB_OBJS = $(FreakUSB)/usb/usb.o $(FreakUSB)/usb/ctrl.o \ $(FreakUSB)/usb/usb_buf.o \ $(FreakUSB)/hw/at90usbxx2/ep.o $(FreakUSB)/hw/at90usbxx2/hw.o \ $(FreakUSB)/hw/at90usbxx2/isr.o OBJS = atusb.o spi.o descr.o ep0.o $(USB_OBJS) CFLAGS += -I../fw/include \ -I$(FreakUSB)/usb -I$(FreakUSB)/hw/at90usbxx2 \ -DNUM_EPS=1 .PHONY: all clean upload prog all: $(NAME).bin %.o: %.c $(CC) $(CFLAGS) -mmcu=$(CHIP) -Os -c $< $(NAME).elf: $(OBJS) $(CC) $(CFLAGS) -mmcu=$(CHIP) -o $@ $(notdir $(OBJS)) %.bin: %.elf $(OBJCOPY) -j .text -j .data -O binary $< $@ clean: rm -f $(NAME).bin $(NAME).elf $(notdir $(OBJS)) upload: $(NAME).bin scp $(NAME).bin jlime: prog: ssh jlime avrdude -F -p $(CHIP_AVRDUDE) -c nanonote_atusb -e \ -U flash:w:$(NAME).bin:r \ -U lfuse:w:0x60:m # external clock, slow start-up on: ssh jlime poke 0x10010318 4 off: ssh jlime poke 0x10010314 4