diff options
| author | vg <vgm+dev@devys.org> | 2020-07-07 16:24:01 +0200 | 
|---|---|---|
| committer | vg <vgm+dev@devys.org> | 2020-07-07 16:24:01 +0200 | 
| commit | 66dcf910bd4744d8ced56cb9586aa937a1a2d4c5 (patch) | |
| tree | df4dca1ae4af1e5df0be0d1f4f2cd0d54751f8e8 /test/ardmake/hardware/bootloaders/bt/Makefile | |
| download | hic-66dcf910bd4744d8ced56cb9586aa937a1a2d4c5.tar.gz hic-66dcf910bd4744d8ced56cb9586aa937a1a2d4c5.tar.bz2 hic-66dcf910bd4744d8ced56cb9586aa937a1a2d4c5.zip | |
Diffstat (limited to 'test/ardmake/hardware/bootloaders/bt/Makefile')
| -rw-r--r-- | test/ardmake/hardware/bootloaders/bt/Makefile | 109 | 
1 files changed, 109 insertions, 0 deletions
| diff --git a/test/ardmake/hardware/bootloaders/bt/Makefile b/test/ardmake/hardware/bootloaders/bt/Makefile new file mode 100644 index 0000000..431f2e7 --- /dev/null +++ b/test/ardmake/hardware/bootloaders/bt/Makefile @@ -0,0 +1,109 @@ +# Makefile for ATmegaBOOT +# E.Lins, 18.7.2005 +# $Id$ +# +# Instructions +# +# To make bootloader .hex file: +# make diecimila +# make lilypad +# make ng +# etc... +# +# To burn bootloader .hex file: +# make diecimila_isp +# make lilypad_isp +# make ng_isp +# etc... + +# program name should not be changed... +PROGRAM    = ATmegaBOOT_168 + +# enter the parameters for the avrdude isp tool +ISPTOOL	   = stk500v2 +ISPPORT	   = usb +ISPSPEED   = -b 115200 + +MCU_TARGET = atmega168 +LDSECTION  = --section-start=.text=0x3800 + +# the efuse should really be 0xf8; since, however, only the lower +# three bits of that byte are used on the atmega168, avrdude gets +# confused if you specify 1's for the higher bits, see: +# http://tinker.it/now/2007/02/24/the-tale-of-avrdude-atmega168-and-extended-bits-fuses/ +# +# similarly, the lock bits should be 0xff instead of 0x3f (to +# unlock the bootloader section) and 0xcf instead of 0x0f (to +# lock it), but since the high two bits of the lock byte are +# unused, avrdude would get confused. + +ISPFUSES    = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ +-e -u -U lock:w:0x3f:m -U efuse:w:0x$(EFUSE):m -U hfuse:w:0x$(HFUSE):m -U lfuse:w:0x$(LFUSE):m +ISPFLASH    = avrdude -c $(ISPTOOL) -p $(MCU_TARGET) -P $(ISPPORT) $(ISPSPEED) \ +-U flash:w:$(PROGRAM)_$(TARGET).hex -U lock:w:0x0f:m + +STK500 = "C:\Program Files\Atmel\AVR Tools\STK500\Stk500.exe" +STK500-1 = $(STK500) -e -d$(MCU_TARGET) -pf -vf -if$(PROGRAM)_$(TARGET).hex \ +-lFF -LFF -f$(HFUSE)$(LFUSE) -EF8 -ms -q -cUSB -I200kHz -s -wt +STK500-2 = $(STK500) -d$(MCU_TARGET) -ms -q -lCF -LCF -cUSB -I200kHz -s -wt + + +OBJ        = $(PROGRAM).o +OPTIMIZE   = -O2 + +DEFS       =  +LIBS       = + +CC         = avr-gcc + +# Override is only needed by avr-lib build system. + +override CFLAGS        = -g -Wall $(OPTIMIZE) -mmcu=$(MCU_TARGET) -DF_CPU=$(AVR_FREQ) $(DEFS) +override LDFLAGS       = -Wl,$(LDSECTION) +#override LDFLAGS       = -Wl,-Map,$(PROGRAM).map,$(LDSECTION) + +OBJCOPY        = avr-objcopy +OBJDUMP        = avr-objdump + +all: + +atmega328_bt: TARGET = atmega328_bt +atmega328_bt: MCU_TARGET = atmega328p +atmega328_bt: AVR_FREQ = 16000000L  +atmega328_bt: LDSECTION  = --section-start=.text=0x7000 +atmega328_bt: $(PROGRAM)_atmega328_bt.hex + +atmega328_bt_isp: atmega328_bt +atmega328_bt_isp: TARGET = atmega328_bt +atmega328_bt_isp: MCU_TARGET = atmega328p +atmega328_bt_isp: HFUSE = D8 +atmega328_bt_isp: LFUSE = FF +atmega328_bt_isp: EFUSE = 05 +atmega328_bt_isp: isp + +isp: $(TARGET) +	$(ISPFUSES) +	$(ISPFLASH) + +isp-stk500: $(PROGRAM)_$(TARGET).hex +	$(STK500-1) +	$(STK500-2) + +%.elf: $(OBJ) +	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) + +clean: +	rm -rf *.o *.elf *.lst *.map *.sym *.lss *.eep *.srec *.bin *.hex + +%.lst: %.elf +	$(OBJDUMP) -h -S $< > $@ + +%.hex: %.elf +	$(OBJCOPY) -j .text -j .data -O ihex $< $@ + +%.srec: %.elf +	$(OBJCOPY) -j .text -j .data -O srec $< $@ + +%.bin: %.elf +	$(OBJCOPY) -j .text -j .data -O binary $< $@ +	 | 
