-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
37 lines (27 loc) · 825 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
MCU := atmega328p
AS := gavrasm
AVRDUDE :=avrdude
BOOT := boot.asm
OUT := boot
LFUSE := 0xFF
HFUSE := 0xDC
EFUSE := 0xFF
PROGRAMMER := usbasp
PROGRAMMER_PORT := /dev/ttyUSB0
.PHONY: all clean fuses read-fuses download
all: $(OUT).bin download
fuses:
@$(AVRDUDE) -p $(MCU) -c $(PROGRAMMER) -P $(PROGRAMMER_PORT) -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m -U efuse:w:$(EFUSE):m
read-fuses:
@$(AVRDUDE) -p $(MCU) -c $(PROGRAMMER) -P $(PROGRAMMER_PORT) -U lfuse:r:$(LFUSE):m -U hfuse:r:$(HFUSE):m -U efuse:r:$(EFUSE):m
$(OUT).bin: $(BOOT)
@$(AS) $<
download:
@if [ -c $(PROGRAMMER_PORT) ];\
then \
$(AVRDUDE) -v -p $(MCU) -c $(PROGRAMMER) -P $(PROGRAMMER_PORT) -D -U flash:w:$(OUT).hex:i;\
else \
echo "Port $(PROGRAMMER_PORT) not found. Skipping programming..."; \
fi;
clean:
@rm -f $(OUT).hex $(OUT).lst