# Makefile für das Projekt VR-FlyStick (Variante C: Drahtloser HID-Joystick)
# Bootloader für „Empfangsteil“ (AccessPoint)
## General Flags
PROJECT = BL
DEVICE = atmega8
F_CPU = 12000000
USBDRV = ../../Durchflussmesser/usbdrv
COMPILE = avr-gcc.exe -Wall -Os -I$(USBDRV) -I. -mmcu=$(DEVICE) -D F_CPU=$(F_CPU)
AVRDUDE = avrdude -c pony-stk200 -P lpt1 -p $(DEVICE) -E noreset
OBJECTS = usbdrvasm.o $(PROJECT).o
HFUSE = 0xC0
# 1 1 0 0 0 0 0 0
# ↑ ↑ ↑ ↑ ↑ └┬┘ └─── BOOTRST (Boot reset: @0x1800)
# │ │ │ │ │ └────── BOOTSZ (Boot area size: 2 kByte)
# │ │ │ │ └───────── EESAVE (Preserve EEPROM over chip erase: YES)
# │ │ │ └──────────── CKOPT (Clock option: Full output swing)
# │ │ └────────────── SPIEN (Serial Programming Enable: YES)
# │ └──────────────── WDTON (Watchdog Timer always on: NO)
# └────────────────── RSTDISBL (External Reset Disable: NO)
#LFUSE = 0x9F blöd (Start-up time: 1.4 ms)
LFUSE = 0xAE
# 1 0 1 0 1 1 1 0
# ↑ ↑ └┬┘ └─┴─┴─┴─── CKSEL (Oscillator selection: Crystal oscillator 12 MHz)
# │ │ └───────────── SUT (Start-up time: 85 µs, minimum)
# │ └──────────────── BODEN (BrownOut Enable: YES)
# └────────────────── BODLEVEL (BrownOut Level: 2.7V)
all: $(PROJECT).hex $(PROJECT).lst
disasm: $(PROJECT).lst
$(PROJECT).o: $(PROJECT).c Makefile usbconfig.h bootloaderconfig.h
$(COMPILE) -c $< -o $@
usbdrv.o: $(USBDRV)/usbdrv.c Makefile usbconfig.h bootloaderconfig.h
$(COMPILE) -c $< -o $@
usbdrvasm.o: $(USBDRV)/usbdrvasm.S Makefile usbconfig.h bootloaderconfig.h
$(COMPILE) -c $< -o $@
$(PROJECT).elf: $(OBJECTS)
$(COMPILE) -o $@ $(OBJECTS) -Ttext 0x1800
%.hex: $(PROJECT).elf
avr-objcopy -j .text -j .data -O ihex $< $@
@avr-size $<
%.lst: $(PROJECT).elf
avr-objdump -d $< > $@
.PHONY: clean program fuse flash
clean:
-rm -rf $(OBJECTS) $(PROJECT).elf $(PROJECT).map $(PROJECT).lst
program:
$(AVRDUDE) -U flash:w:$(PROJECT).hex:i -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m -U lock:w:0x2F:m
flash: $(PROJECT).hex
$(AVRDUDE) -U flash:w:$(PROJECT).hex:i -U lock:w:0x2F:m
verify:
$(AVRDUDE) -U flash:v:$(PROJECT).hex
Vorgefundene Kodierung: UTF-8 | 0
|