# Mini-LED-Cube 1.0 # # Copyright (C) 2009 Paul Wilhelm # http://mosfetkiller.de/?s=miniledcube # Project specific settings TARGET = miniledcube-1.0 MCU = attiny2313 SRC = main.c # You probably want to change this to your own programming device # AVR ISP mkII PGMDEV = dragon_isp PGMOPT = -P usb # Try -B 10 in case of programming errors # Pony-STK200 #PGMDEV = pony-stk200 #PGMOPT = -E noreset # AVR-GCC and AVRDUDE need to be installed CC = avr-gcc OBJCOPY = avr-objcopy AVRDUDE = avrdude REMOVE = rm -f # Some C flags CSTANDARD = gnu99 CFLAGS = -Wall -O2 help: @echo @echo "Availiable targets:" @echo " help - Display this help" @echo @echo " compile - Compiles source code" @echo " info - Outputs device memory information" @echo " program - Programs the device" @echo " clean - Deletes temporary files" @echo " fuses - Writes fuse settings to device (necessary only once per device)" @echo @echo " all - Compile, info, program, clean" @echo @echo "IMPORTANT: Device programming may only be possible as super user" @echo @echo "See Makefile for contact information." @echo all: compile info program clean compile: $(CC) -std=$(CSTANDARD) $(CFLAGS) -mmcu=$(MCU) $(SRC) -o $(TARGET).elf $(OBJCOPY) -O ihex -j .text -j .data $(TARGET).elf $(TARGET).hex info: avr-size $(TARGET).elf program: $(AVRDUDE) -p $(MCU) -u -V -c $(PGMDEV) $(PGMOPT) -U flash:w:$(TARGET).hex:i fuses: $(AVRDUDE) -p $(MCU) -u -V -c $(PGMDEV) $(PGMOPT) -U lfuse:w:0xE4:m -U hfuse:w:0xDF:m clean: $(REMOVE) $(TARGET).elf $(TARGET).hex