From 67debd24e340f8b3221b1435ff7ee175113fe08a Mon Sep 17 00:00:00 2001 From: redxef Date: Tue, 12 Jul 2022 20:14:59 +0200 Subject: [PATCH] Initial commit. --- .gitignore | 5 +++++ Makefile | 32 ++++++++++++++++++++++++++++++++ main.c | 14 ++++++++++++++ main.h | 0 4 files changed, 51 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 main.c create mode 100644 main.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0504f92 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.cache/ +*.hex +*.elf +*.o +compile_commands.json diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..98461ad --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +PREFIX := avr- +CFLAGS_COMMON := -I/usr/avr/include/ +CFLAGS_CPU := -DF_CPU=20000000UL -mmcu=atmega328p -Os +CFLAGS := $(CFLAGS_COMMON) $(CFLAGS_CPU) +LDFLAGS_COMMON := -I/usr/avr/include/ +LDFLAGS_CPU := -mmcu=atmega328p +LDFLAGS := $(LDFLAGS_COMMON) $(LDFLAGS_CPU) +CC := $(PREFIX)gcc + +build: main.hex + +flash: main.hex + sudo avrdude -FV -c arduino -p ATmega328p -P /dev/ttyUSB0 -b 57600 -U flash:w:$< + +clean: + $(RM) *.hex *.elf *.o + +bear: compile_commands.json + +compile_commands.json: clean + bear -- make build + +main.hex: main.elf + $(PREFIX)objcopy -O ihex -R .eeprom $< $@ + +main.elf: main.o + $(CC) -w $(LDFLAGS) -o $@ $< + +%.o: %.c %.h + $(CC) $(CFLAGS) -c -o $@ $< + +.PHONY: build flash clean bear diff --git a/main.c b/main.c new file mode 100644 index 0000000..6ab14e0 --- /dev/null +++ b/main.c @@ -0,0 +1,14 @@ +#include +#include + +int main(void) { + DDRD = 255; + + while (1) { + PORTD = 0b00001000; + _delay_ms(100); + PORTD = 0; + _delay_ms(100); + } + return 0; +} diff --git a/main.h b/main.h new file mode 100644 index 0000000..e69de29