diff options
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | Makefile | 53 | ||||
-rw-r--r-- | src/main.c | 26 |
3 files changed, 86 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bac74fd --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*.o +obj/ +build/ +tags + +compile_flags.txt +.cache/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..38f5292 --- /dev/null +++ b/Makefile @@ -0,0 +1,53 @@ +MCU = atmega8 +CPUFREQ = 160000000 +PROGRAMMER = dragon_isp + +CC = avr-gcc +CFLAGS = -std=c89 -Wall -mmcu=$(MCU) -DF_CPU=$(CPUFREQ) +LDFLAGS = -mmcu=$(MCU) +BUILDDIR = build +SOURCEDIR = src +OBJECTDIR = obj + +OUTPUT = analog + +SRCS = $(wildcard $(SOURCEDIR)/*.c) +OBJS = $(SRCS:.c=.o) +OBJ = $(OBJS:$(SOURCEDIR)/%=$(OBJECTDIR)/%) + +build: dir $(OBJ) + @echo LD $(OBJ) + @$(CC) $(CFLAGS) -o $(BUILDDIR)/$(OUTPUT) $(OBJ) $(LDFLAGS) + @avr-objcopy -O ihex $(BUILDDIR)/$(OUTPUT) $(BUILDDIR)/$(OUTPUT).hex + +debug: -D _DEBUG +debug: build; + +dir: + @mkdir -p $(OBJECTDIR) + @mkdir -p $(BUILDDIR) + +$(OBJECTDIR)/%.o: $(SOURCEDIR)/%.c + @echo CC $< + @$(CC) -c $(CFLAGS) $< -o $@ + +.PHONY: clean +clean: + @echo RM $(OBJ) + @echo RM $(BUILDDIR)/$(OUTPUT) + @rm -df $(OBJ) + @rm -Rdf $(BUILDDIR) $(OBJECTDIR) + +all: clean build + +flash: build + @avrdude -p $(MCU) -c $(PROGRAMMER) -U flash:w:$(BUILDDIR)/$(OUTPUT).hex:i + +devsetup: + @echo "--target=avr -isystem /usr/avr/include/ $(CFLAGS)" | tr ' ' '\n' > compile_flags.txt + + +#--target=avr +#tmarch=atmega8 +#-mmcu=atmega8 +#-I/usr/avr/include/ diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..c0f35d7 --- /dev/null +++ b/src/main.c @@ -0,0 +1,26 @@ +#include <avr/io.h> +#include <avr/interrupt.h> +#include <stdint.h> + +ISR(TIMER0_OVF_vect) { + cli(); + + sei(); +} + +int main(void) { + cli(); + + /* Enable TIMER0 with interrupt */ + TCCR0 |= (1<<CS00); + TIMSK |= (1<<TOIE0); + + /* Go! */ + sei(); + + while(1){ + + } + + return 0; +} |