# Name: Makefile
# Project: 7-Tasten-Tastatur (Schaltkontakt), bis zu 8 Tasten
# Author: Henrik Haftmann
# Creation Date: 210120
# Tabsize: 8, Encoding: UTF-8, LineEnds: LF
P = 7key
D = attiny24
F = 12000000
#USBDRV = ../micronucleus/firmware/usbdrv
USBDRV = ../usbdrv
PATH := c:/Programme/WinAVR/gcc530/bin;$(PATH)
COMPILE = avr-gcc -Wall -Os -I$(USBDRV) -I. -mmcu=$D -DF_CPU=$F
# Symbolische Ziele:
all: $P.lst
clean:
rm -f $P.hex $P.lst
# Datei-Ziele:
$P.elf: *.cpp $(USBDRV)/usbdrvasm.S *.h Makefile
$(COMPILE) -o $@ $(filter %.cpp %.S,$^)
avr-size $@
$P.lst: $P.elf
avr-objdump -d $< > $@
avr-strip $<
# Mit avrpp ist's so einfach!
flash: $P.elf
avrpp $<
program:
avrpp -ff $P.elf
#Das folgende Geraffel ist nur fΓΌr avrdude erforderlich. Danke an JΓΆrg!
$P.hex: $P.elf
avr-objcopy -j .text -j .data -O ihex $< $@
AVRDUDE = avrdude -c pony-stk200 -P lpt1 -p $D -E noreset
EFUSE = 0xFF
# Fuse High-Byte:
HFUSE = 0x55
# 0 1 0 1 0 1 0 1
# β β β β β βββ¬ββ
# β β β β β βββββββ BODLEVEL 2..0 (brownout trigger level β 2,7 V)
# β β β β βββββββββββ EESAVE (behalte EEPROM bei Chip Erase β ja)
# β β β ββββββββββββββ WDTON (stets Watchdog-Timer β nein)
# β β ββββββββββββββββ SPIEN (Serielle Programmierbarkeit β ja)
# β ββββββββββββββββββ DWEN (DebugWire β nein)
# ββββββββββββββββββββ RSTDISBL (Reset als I/O β ja)
#
# Fuse Low-Byte:
LFUSE = 0xDF
# 1 1 0 1 1 1 1 1
# β β ββ¬β ββββ¬βββ
# β β β ββββββββ CKSEL 3..0 (Taktauswahl β Quarzoszillator)
# β β βββββββββββββββ SUT 1..0 (Hochlaufzeit β schnell mit BOD)
# β ββββββββββββββββββ CKOUT (Taktausgang β nein)
# ββββββββββββββββββββ CKDIV8 (Taktteiler durch 8 β nein)
fuse-avrdude:
$(AVRDUDE) -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m
program-avrdude:
$(AVRDUDE) -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m -U flash:w:$P.hex:i
# Neu ΓΌbersetzen bei βmake fuseβ, aber nicht bei βmake programβ
flash-avrdude: $P.hex
$(AVRDUDE) -U flash:w:$<:i
Vorgefundene Kodierung: UTF-8 | 0
|