8 PROGRAMMER_TYPE = usbasp
18 CPPFLAGS = -DF_CPU=$(F_CPU) -DBAUD=$(BAUD) -I.
20 CFLAGS += -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
22 LDFLAGS = -Wl,-Map,hbc.map
23 TARGET_ARCH = -mmcu=$(MCU)
29 OBJ = $(patsubst %, $(ODIR)/%,$(_OBJ))
31 $(ODIR)/%.o: %.c $(DEPS)
33 $(CC) -c $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< -o $@
36 $(CC) $(CFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ -o $@
38 # TODO: add fuse section with .j .fuse
40 $(OBJCOPY) -j .text -j .data -O ihex $< $@
46 # $(OBJCOPY) -j .text -j .data -O binary $< $@
53 rm -rf $(ODIR)/*.o *.hex *.elf *.map
56 $(AVRDUDE) -p $(DEVICE) -c $(PROGRAMMER_TYPE) -b $(BAUD)
59 $(AVRDUDE) -p $(DEVICE) -c $(PROGRAMMER_TYPE) -b $(BAUD) -U flash:w:hbc.hex:i
62 $(AVRDUDE) -p $(DEVICE) -c $(PROGRAMMER_TYPE) -b $(BAUD) -P /dev/ttyUSB0 -U flash:r:flash.bin:r
64 # simulator runs on localhost:1234
65 # load .elf file with avr-sim hex.elf
68 $(SIMAVR) -f $(F_CPU) -m $(MCU) -g -t hbc.hex
71 $(GDB) -x gdb-commands.txt hbc.elf