-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathMakefile.micro
executable file
·57 lines (46 loc) · 1.69 KB
/
Makefile.micro
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# makefile, written by guido socher
MCU=atmega168
#MCU=at90s4433
CC=avr-gcc
#CEXTRA=-Wa,-adhlns=$(<:.c=.lst)
#EXTERNAL_RAM = -Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff
#EXTERNAL_RAM = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
LDFLAGS = -mmcu=${MCU} -Wl,-u, -lm
#LDFLAGS = -mmcu=${MCU} -Wl,-u,vfprintf -lprintf_flt -lm
OBJCOPY=avr-objcopy
# optimize for size:
#CFLAGS=-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -mcall-prologues ${CEXTRA}
CFLAGS=-g -mmcu=$(MCU) -Os
DEVICE = m168
AVRDUDE = avrdude -c usbasp -p $(DEVICE)
FUSEH = 0xdf
FUSEL = 0xf7
#-------------------
all: microbdinterp.hex
#-------------------
help:
@echo "Usage: make all|load|load_pre|rdfuses|wrfuse1mhz|wrfuse4mhz|wrfusecrystal"
@echo "Warning: you will not be able to undo wrfusecrystal unless you connect an"
@echo " external crystal! uC is dead after wrfusecrystal if you do not"
@echo " have an external crystal."
#-------------------
microbdinterp.hex : microbdinterp.out
$(OBJCOPY) -R .eeprom -O ihex microbdinterp.out microbdinterp.hex
#microbdinterp.out : microbdinterp.o
# $(CC) $(CFLAGS) -o microbdinterp.out -Wl,-Map,microbdinterp.map microbdinterp.o
microbdinterp.out : microbdinterp.o
$(CC) ${LDFLAGS} $(CFLAGS) -o microbdinterp.out microbdinterp.o
microbdinterp.o : microbdinterp.c
$(CC) $(CFLAGS) -Os -c microbdinterp.c
microbdinterp.elf: microbdinterp.o
$(CC) ${LDFLAGS} $(CFLAGS) -o microbdinterp.elf microbdinterp.o
disasm: microbdinterp.elf
avr-objdump -d noise.elf
fuse:
$(AVRDUDE) -F -U hfuse:w:$(FUSEH):m -U lfuse:w:$(FUSEL):m
flash: all
$(AVRDUDE) -F -U flash:w:microbdinterp.hex:i
#-------------------
clean:
rm -f *.o *.map *.out *t.hex
#-------------------