summaryrefslogtreecommitdiffstats
path: root/_site/blog/arduino-uno/Makefile
diff options
context:
space:
mode:
authorSadeep Madurange <sadeep@asciimx.com>2025-12-08 17:34:35 +0800
committerSadeep Madurange <sadeep@asciimx.com>2025-12-08 21:05:19 +0800
commit752a06ec0ebf20d6232b13f1ea53fe21fefcefbd (patch)
tree690411afad8eb76216417a42de94135214cb2401 /_site/blog/arduino-uno/Makefile
parent20b0a045a7dc78f9728837fe5a1be8cf12caae4e (diff)
downloadwww-752a06ec0ebf20d6232b13f1ea53fe21fefcefbd.tar.gz
Fix list indentation.
Diffstat (limited to '_site/blog/arduino-uno/Makefile')
-rw-r--r--_site/blog/arduino-uno/Makefile43
1 files changed, 43 insertions, 0 deletions
diff --git a/_site/blog/arduino-uno/Makefile b/_site/blog/arduino-uno/Makefile
new file mode 100644
index 0000000..9db7b09
--- /dev/null
+++ b/_site/blog/arduino-uno/Makefile
@@ -0,0 +1,43 @@
+CC = avr-gcc
+MCU = atmega328p
+PORT = /dev/cuaU0
+TARGET = app
+
+SRC = main.c
+OBJ = $(SRC:.c=.o)
+
+CFLAGS = -std=gnu99
+CFLAGS += -Os
+CFLAGS += -Wall
+CFLAGS += -mmcu=$(MCU)
+CFLAGS += -DBAUD=115200
+CFLAGS += -DF_CPU=16000000UL
+CFLAGS += -ffunction-sections -fdata-sections
+
+LDFLAGS = -mmcu=$(MCU)
+LDFLAGS += -Wl,--gc-sections
+
+HEX_FLAGS = -O ihex
+HEX_FLAGS += -j .text -j .data
+
+AVRDUDE_FLAGS = -p $(MCU)
+AVRDUDE_FLAGS += -c arduino
+AVRDUDE_FLAGS += -P $(PORT)
+AVRDUDE_FLAGS += -D -U
+
+%.o: %.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+elf: $(OBJ)
+ $(CC) $(LDFLAGS) $(OBJ) -o $(TARGET).elf
+
+hex: elf
+ avr-objcopy $(HEX_FLAGS) $(TARGET).elf $(TARGET).hex
+
+upload: hex
+ avrdude $(AVRDUDE_FLAGS) flash:w:$(TARGET).hex:i
+
+.PHONY: clean
+
+clean:
+ rm *.o *.elf *.hex