You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.5 KiB
75 lines
1.5 KiB
10 years ago
|
PRG = main
|
||
|
|
||
|
MCU_TARGET = attiny2313
|
||
|
OPTIMIZE = 2
|
||
|
|
||
|
|
||
|
LFUSE = 0xE4
|
||
|
HFUSE = 0xDF
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
DEFS =-std=gnu99 -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -ffreestanding --combine -fwhole-program -fno-inline-small-functions -fno-split-wide-types -fno-tree-scev-cprop -Wl,--relax,--gc-sections
|
||
|
CC = avr-gcc
|
||
|
OBJCOPY = avr-objcopy
|
||
|
OBJDUMP = avr-objdump
|
||
|
|
||
|
OBJ = $(PRG).o
|
||
|
|
||
|
override CFLAGS = -g2 -Wall -O$(OPTIMIZE) -mmcu=$(MCU_TARGET) $(DEFS)
|
||
|
|
||
|
# program: $(PRG).elf lst hex
|
||
|
#
|
||
|
|
||
|
all: $(PRG).elf lst eeprom
|
||
|
|
||
|
$(PRG).elf: $(OBJ)
|
||
|
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
||
|
avr-size -C -d --mcu=$(MCU_TARGET) $(PRG).elf
|
||
|
|
||
|
lst: $(PRG).lst
|
||
|
|
||
|
%.lst: %.elf
|
||
|
$(OBJDUMP) -h -S $< > $@
|
||
|
|
||
|
hex: $(PRG).hex lst
|
||
|
|
||
|
%.hex: %.elf
|
||
|
$(OBJCOPY) -j .text -j .data -O ihex $< $@
|
||
|
|
||
|
|
||
|
install: wflash wfuses
|
||
|
|
||
|
install_ee: weeprom
|
||
|
install_fl: wflash
|
||
|
install_fu: wfuses
|
||
|
|
||
|
|
||
|
wflash: $(PRG).hex
|
||
|
avrdude -P usb -c dragon_isp -p $(MCU_TARGET) -B 16 -U flash:w:$(PRG).hex
|
||
|
|
||
|
|
||
|
wfuses:
|
||
|
avrdude -P usb -c dragon_isp -p $(MCU_TARGET) -B 16 -U lfuse:w:$(LFUSE):m -U hfuse:w:$(HFUSE):m
|
||
|
|
||
|
|
||
|
weeprom: ehex
|
||
|
avrdude -P usb -c dragon_isp -p $(MCU_TARGET) -B 16 -U lfuse:w:$(LFUSE):m -U eeprom:w:$(PRG)_eeprom.hex
|
||
|
|
||
|
ee: ehex
|
||
|
eeprom: ehex
|
||
|
|
||
|
ehex: $(PRG)_eeprom.hex
|
||
|
|
||
|
%_eeprom.hex: %.elf
|
||
|
$(OBJCOPY) -j .eeprom --change-section-lma .eeprom=0 -O ihex $< $@
|
||
|
|
||
|
|
||
|
clean:
|
||
|
rm -f *.o $(PRG).elf *.hex *.lst *~
|
||
|
|
||
|
term:
|
||
|
avrdude -P usb -c dragon_isp -p $(MCU_TARGET) -B 16 -t
|
||
|
|