git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/arm/avr@8175 bc5caf13-1734-44f8-af43-603852e9ee25
72 lines
1.2 KiB
Makefile
72 lines
1.2 KiB
Makefile
|
|
all: sologse.hex mtr3gse.hex
|
|
|
|
CPU_sologse=
|
|
CPU_mtr3gse=atmega644
|
|
|
|
MCU = atmega644
|
|
|
|
pMCU-atmega16m1 = m16
|
|
pMCU-atmega16 = m16
|
|
pMCU-atmega644 = m644
|
|
|
|
CC=avr-gcc -Wall -MMD -std=c99 -O3 -mmcu=$(MCU) \
|
|
-funsigned-char \
|
|
-funsigned-bitfields \
|
|
-fpack-struct \
|
|
-fshort-enums
|
|
|
|
SN=1
|
|
CFLAGS = $($*_CFLAGS) $(DEBUG) -I. -DSN="$(SN)"
|
|
|
|
C_FILES = adc.c hex.c io_base.c io_spi.c io_usart.c sologse.c timer.c
|
|
OBJS = $(patsubst %.c, %.o, $(C_FILES))
|
|
|
|
%.s: %.c
|
|
$(CC) $(CFLAGS) -S $<
|
|
|
|
%.o: %.c
|
|
$(CC) -gstabs $(CFLAGS) -c $<
|
|
|
|
-include *.d
|
|
|
|
LDFLAGS =
|
|
|
|
sologse.elf: solo.o
|
|
mtr3gse.elf: mtr3.o
|
|
%.elf: $(OBJS)
|
|
$(CC) $(CFLAGS) -Wl,-Map=$*.map,--cref $^ --output $@ $(LDFLAGS)
|
|
|
|
OBJCOPY = avr-objcopy
|
|
|
|
%.hex: %.elf
|
|
$(OBJCOPY) -O ihex -R .eeprom $< $@
|
|
|
|
|
|
AVRDUDE = avrdude
|
|
AVRDUDE_PROGRAMMER = avrispmkii
|
|
AVRDUDE_PORT = usb
|
|
AVRDUDE_WRITE_FLASH = -U flash:w:$<
|
|
|
|
%.burn: %.hex
|
|
$(AVRDUDE) -p $(pMCU-$(MCU)) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) \
|
|
-U flash:w:$<
|
|
|
|
lfuse_LCD=0xff
|
|
|
|
# CKDIV8 : no
|
|
# CKOUT: yes, on PB1, pin 41
|
|
# SUT: max
|
|
# CLKSEL: external clock
|
|
|
|
lfuse_sologse=0xA0
|
|
lfuse_mtr3gse=0xA0
|
|
|
|
%.lfuse:
|
|
$(AVRDUDE) -p $(pMCU-$(MCU)) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) \
|
|
-B 5 -U lfuse:w:$(lfuse_$*):m
|
|
|
|
clean:
|
|
rm -f *.hex *.o *.s *.map *.elf *.d
|
|
|
|
|