Files
pa50contr/Makefile
Олег Бородин daac0e8e1f import
2024-08-20 18:12:45 +02:00

68 lines
1.4 KiB
Makefile

CC = avr-gcc
OBJCOPY = avr-objcopy
SIZE = avr-size
F_CPU = 16000000UL
MCU = atmega328p
CFLAGS += -DF_CPU=$(F_CPU) -mmcu=$(MCU)
CFLAGS += -I. -O2 --std=c99
CFLAGS += -ffunction-sections -fdata-sections
LDFLAGS += -s -mmcu=$(MCU)
LDFLAGS += -Wl,--gc-sections
LDFLAGS += -Wl,-u,vfprintf -lprintf_flt
MAIN_OBJS += main.o
MAIN_OBJS += contr.o
MAIN_OBJS += eeprom.o
MAIN_OBJS += i2c.o
MAIN_OBJS += disp.o
MAIN_OBJS += fifo.o
MAIN_OBJS += uart.o
MAIN_OBJS += tool.o
MAIN_OBJS += timer.o
MAIN_OBJS += temp.o
MAIN_ELF = main.elf
MAIN_HEX = main.hex
all: $(MAIN_HEX)
$(MAIN_ELF): $(MAIN_OBJS)
$(CC) $(LDFLAGS) -o $(MAIN_ELF) $(MAIN_OBJS)
$(SIZE) --format=berkeley $@
%.o: %.c
$(CC) $(CFLAGS) -c $*.c -o $*.o
$(CC) -MM $(CFLAGS) $*.c > $*.d
$(MAIN_HEX): $(MAIN_ELF)
$(OBJCOPY) -O ihex -R .eeprom $< $@
AVRDUDE = sudo avrdude
TTY_PORT = /dev/ttyUSB0
TTY_SPEED = 115200
BACKUP = $(MAIN_HEX).bak
upload: $(MAIN_HEX)
$(AVRDUDE) -c arduino -p ATMEGA328P -P $(TTY_PORT) -b $(TTY_SPEED) -U flash:w:$<
download:
$(AVRDUDE) -F -V -c arduino -p m328p -P $(TTY_PORT) -b $(TTY_SPEED) -U flash:r:$(BACKUP):i
# $(AVRDUDE) -F -V -c arduino -p ATMEGA328P -P $(TTY_PORT) -b $(TTY_SPEED) -U flash:r:$(BACKUP):i
#avrdude -P /dev/ttyUSB0 -b 115200 -p m328p -c arduino -U flash:w:MicroPA50+_BETA1.5.hex:i
clean:
rm -f *.i *.o *.s
rm -f *.elf *.bin *~ *.hex
rm -f *.d
-include $(MAIN_OBJS:.o=.d)
#EOF