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