cleanup: makefile, hbc and removed unused files
[lra-as-sensor] / Makefile
1 # attiny25 makefile
2
3 MCU = attiny25
4 DEVICE = t25
5 F_CPU = 8000000UL
6 BAUD = 57600
7
8 PROGRAMMER_TYPE = usbasp
9
10 CC = avr-gcc
11 GDB = avr-gdb
12 OBJCOPY = avr-objcopy
13 OBJDUMP = avr-objdump
14 AVRSIZE = avr-size
15 AVRDUDE = avrdude
16 SIMAVR  = simavr
17
18 CPPFLAGS = -DF_CPU=$(F_CPU) -DBAUD=$(BAUD) -I.
19 CFLAGS = -Os -g -Wall
20 CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
21
22 LDFLAGS = -Wl,-Map,hbc.map
23 TARGET_ARCH = -mmcu=$(MCU)
24
25 DEPS =
26
27 ODIR = obj
28 _OBJ = hbc.o
29 OBJ = $(patsubst %, $(ODIR)/%,$(_OBJ))
30
31 $(ODIR)/%.o: %.c $(DEPS)
32         @mkdir -p $(@D)
33         $(CC) -c $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< -o $@
34
35 %.elf: $(OBJ)
36         $(CC) $(CFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ -o $@
37
38 # TODO: add fuse section with .j .fuse
39 %.hex: %.elf
40         $(OBJCOPY) -j .text -j .data -O ihex $< $@
41
42 #
43 # for binary output 
44 #
45 #%.bin: %.elf
46 #       $(OBJCOPY) -j .text -j .data -O binary $< $@
47
48 all: hbc.hex
49
50 .PHONY: clean
51
52 clean: 
53         rm -rf $(ODIR)/*.o *.hex *.elf *.map
54
55 check-dev: 
56         $(AVRDUDE) -p $(DEVICE) -c $(PROGRAMMER_TYPE) -b $(BAUD)
57
58 flash:
59         $(AVRDUDE) -p $(DEVICE) -c $(PROGRAMMER_TYPE) -b $(BAUD) -U flash:w:hbc.hex:i
60
61 read-flash-bin: 
62         $(AVRDUDE) -p $(DEVICE) -c $(PROGRAMMER_TYPE) -b $(BAUD) -P /dev/ttyUSB0 -U flash:r:flash.bin:r
63
64 # simulator runs on localhost:1234
65 # load .elf file with avr-sim hex.elf
66 # and start debugging 
67 sim:
68         $(SIMAVR) -f $(F_CPU) -m $(MCU) -g -t hbc.hex
69
70 gdb:
71         $(GDB) -x gdb-commands.txt hbc.elf