mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-12-23 21:25:34 +02:00
259400fdb8
- ./: basic framework to build a firmware that can enumerate - usb/patches/: patches to make FreakUSB 0.7 compile cleanly and to make it work in our context
54 lines
1.2 KiB
Makefile
54 lines
1.2 KiB
Makefile
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 descr.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
|