DEVICE = attiny2313 CLOCK = 8000000 FUSES = -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m PROGRAMMER =-c stk500v2 PROGRAMMER +=-P /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A800dAli-if00-port0 # in ms should be at least 4 times less than clock speed SPEED = 4 # for default 1Mhz clock #SPEED = 0.34 # for 12Mhz clock DEFS = -DF_CPU=$(CLOCK)UL LIBS = -Wl,--relax,--gc-sections,--print-gc-sections,--entry=main LIBS = -Wl,--entry=main,--gc-sections,--rela CFLAGS = -Wall -Werror -pedantic -std=c99 CFLAGS += -Os -funsigned-bitfields -fpack-struct -fshort-enums CFLAGS += -mmcu=$(DEVICE) $(DEFS) #LDFLAGS = $(LIBS) all: main.hex size main.hex: main.c avr-gcc -o main.elf $? $(CFLAGS) $(LDFLAGS) avr-objcopy -j .text -j .data -O ihex main.elf main.hex f: flash flash: all avrdude $(PROGRAMMER) -p $(DEVICE) -B $(SPEED) -U flash:w:main.hex:i fuse: avrdude $(PROGRAMMER) -p $(DEVICE) -B $(SPEED) $(FUSES) clean: rm -f *.o *.elf *.hex size: avr-size --mcu=$(DEVICE) -t -A main.elf avr-size --mcu=$(DEVICE) -C main.elf avr-nm --size-sort main.elf