From 3a5c0f9bc2f9049114228e472826e31423dc5263 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Tue, 25 Apr 2023 19:48:52 +0200 Subject: pololu blink build system working --- zumo/.gitignore | 5 +++++ zumo/main.c | 15 +++++++++++++++ zumo/makefile | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 zumo/.gitignore create mode 100644 zumo/main.c create mode 100644 zumo/makefile (limited to 'zumo') diff --git a/zumo/.gitignore b/zumo/.gitignore new file mode 100644 index 0000000..d3e1535 --- /dev/null +++ b/zumo/.gitignore @@ -0,0 +1,5 @@ +main +*.o +*.hex +compile_commands.json +.cache diff --git a/zumo/main.c b/zumo/main.c new file mode 100644 index 0000000..ab66db4 --- /dev/null +++ b/zumo/main.c @@ -0,0 +1,15 @@ +#define F_CPU 16000000 + +#include +#include + +int main() { + DDRC |= (1 << DDC7); + while(1) { + PORTC |= (1 << PORTC7); + _delay_ms(500); + PORTC &= ~(1 << PORTC7); + _delay_ms(500); + } +} + diff --git a/zumo/makefile b/zumo/makefile new file mode 100644 index 0000000..aac11f4 --- /dev/null +++ b/zumo/makefile @@ -0,0 +1,40 @@ +PORT = /dev/ttyUSB0 + +CC = avr-gcc +LD = avr-ld +RM = rm -f + +MCU=atmega32u4 + +CFLAGS += -mcall-prologues +CFLAGS += -mmcu=$(MCU) +CFLAGS += -Os +CFLAGS += -g +CFLAGS += -Wl,-gc-sections +CFLAGS += -Wl,-relax + +TARGET = main +SRCS += main.c +OBJS := $(patsubst %.c,%.o, $(SRCS)) + +.PHONY: all clean flash + +all: $(TARGET).hex + +%.o: %.c + $(CC) -c $(CFLAGS) $< -o $@ + +$(TARGET): $(OBJS) + $(LD) $^ $(LFLAGS) -o $@ + +$(TARGET).hex: $(TARGET) + avr-objcopy -R .eeprom -O ihex $< $@ + +flash: $(TARGET).hex + avrdude -p $(MCU) -c avr109 -P $(PORT) -U flash:w:$(TARGET).hex + +clean: + $(RM) $(TARGET) $(TARGET).hex $(OBJS) + +compile_commands.json: makefile + compiledb make -Bn -- cgit v1.2.3