blob: 104f084d7deb7b6ad8e91d6415513f2c4974bc32 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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
|