From 729f2a2c3ebfb2612d873caf453a1d7ca02180d9 Mon Sep 17 00:00:00 2001 From: dmlunar Date: Wed, 22 Jan 2025 16:47:21 +0200 Subject: varpa: initial public commit --- firmware/Makefile | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 firmware/Makefile (limited to 'firmware/Makefile') diff --git a/firmware/Makefile b/firmware/Makefile new file mode 100644 index 0000000..6045e7e --- /dev/null +++ b/firmware/Makefile @@ -0,0 +1,58 @@ +all: compile + +SHELL := /bin/bash + +MCU = atmega328p +PROG = USBasp +AVRDUDE = avrdude.exe + +LFUSE = 0xFF +HFUSE = 0xD9 +EFUSE = 0xFF +LOCK = 0xFF + +SCRIPTS_DIR = ../scripts +SCRIPT_RESET = reset.py + +SRC_DIR = src +INC_DIR = inc + +PYTHON = python.exe +CC = avr-gcc +CFLAGS = -mmcu=$(MCU) -Wall -Os -I$(INC_DIR) +OBJ_C = avr-objcopy +AVR_SIZE = avr-size + +SRC_FILES += $(SRC_DIR)/*.c +SRC_FILES += $(SRC_DIR)/peripheral/*.c +SRC_FILES += $(SRC_DIR)/module/*.c +SRC_FILES += $(SRC_DIR)/driver/*.c + +BUILD_DIR = bin +OUTPUT = $(BUILD_DIR)/FW_DEBUG_V_1_0 + +reset: + $(PYTHON) $(SCRIPTS_DIR)/$(SCRIPT_RESET) + +build: + mkdir $(BUILD_DIR) + $(CC) $(CFLAGS) -o $(OUTPUT).lffw $(SRC_FILES) + $(AVR_SIZE) -C -x $(OUTPUT).lffw + $(OBJ_C) -j .text -j .data -O ihex $(OUTPUT).lffw $(OUTPUT).hex + +flash: + @read -p "ENTER TO BEGIN FLASH..." + $(AVRDUDE) -p $(MCU) -c $(PROG) -v -V -u -U flash:w:$(OUTPUT).hex + +fuze: + $(AVRDUDE) -p $(MCU) -c $(PROG) -v -V -u -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m -U efuse:w:$(EFUSE):m -U lock:w:$(LOCK):m + +clean: + rm -fr $(BUILD_DIR) + +upload: reset clean build flash +force-upload: clean build flash + +deps: + sudo apt install gcc-avr binutils-avr gdb-avr avr-libc avrdude make git + -- cgit v1.2.3-70-g09d2