blob: 6045e7e11b7a137c185cb3a161e9a02a10bab88d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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
|