diff options
Diffstat (limited to 'bootloaders/optiboot/Makefile')
| -rw-r--r-- | bootloaders/optiboot/Makefile | 125 | 
1 files changed, 114 insertions, 11 deletions
diff --git a/bootloaders/optiboot/Makefile b/bootloaders/optiboot/Makefile index 0f8d09e..88cb9a2 100644 --- a/bootloaders/optiboot/Makefile +++ b/bootloaders/optiboot/Makefile @@ -123,12 +123,23 @@ OBJDUMP        = $(call fixpath,$(GCCROOT)avr-objdump)  SIZE           = $(GCCROOT)avr-size +# Test platforms +# Virtual boot block test +virboot328: TARGET = atmega328 +virboot328: MCU_TARGET = atmega328p +virboot328: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DVIRTUAL_BOOT' +virboot328: AVR_FREQ = 16000000L +virboot328: LDSECTION  = --section-start=.text=0x7e00 +virboot328: $(PROGRAM)_atmega328.hex +virboot328: $(PROGRAM)_atmega328.lst +  # 20MHz clocked platforms  #  # These are capable of 230400 baud, or 115200 baud on PC (Arduino Avrdude issue)  #  pro20: TARGET = pro_20mhz +pro20: MCU_TARGET = atmega168  pro20: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'  pro20: AVR_FREQ = 20000000L  pro20: $(PROGRAM)_pro_20mhz.hex @@ -141,7 +152,7 @@ pro20_isp: HFUSE = DD  # Full swing xtal (20MHz) 258CK/14CK+4.1ms  pro20_isp: LFUSE = C6  # 512 byte boot -pro20_isp: EFUSE = 02 +pro20_isp: EFUSE = 04  pro20_isp: isp  # 16MHz clocked platforms @@ -150,6 +161,7 @@ pro20_isp: isp  #  pro16: TARGET = pro_16MHz +pro16: MCU_TARGET = atmega168  pro16: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'  pro16: AVR_FREQ = 16000000L  pro16: $(PROGRAM)_pro_16MHz.hex @@ -162,12 +174,13 @@ pro16_isp: HFUSE = DD  # Full swing xtal (20MHz) 258CK/14CK+4.1ms  pro16_isp: LFUSE = C6  # 512 byte boot -pro16_isp: EFUSE = 02 +pro16_isp: EFUSE = 04  pro16_isp: isp  # Diecimila and NG use identical bootloaders  #  diecimila: TARGET = diecimila +diecimila: MCU_TARGET = atmega168  diecimila: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'  diecimila: AVR_FREQ = 16000000L   diecimila: $(PROGRAM)_diecimila.hex @@ -180,7 +193,7 @@ diecimila_isp: HFUSE = DD  # Low power xtal (16MHz) 16KCK/14CK+65ms  diecimila_isp: LFUSE = FF  # 512 byte boot -diecimila_isp: EFUSE = 02 +diecimila_isp: EFUSE = 04  diecimila_isp: isp  atmega328: TARGET = atmega328 @@ -194,7 +207,7 @@ atmega328: $(PROGRAM)_atmega328.lst  atmega328_isp: atmega328  atmega328_isp: TARGET = atmega328  atmega328_isp: MCU_TARGET = atmega328p -# 512 byte boot +# 512 byte boot, SPIEN  atmega328_isp: HFUSE = DE  # Low power xtal (16MHz) 16KCK/14CK+65ms  atmega328_isp: LFUSE = FF @@ -202,13 +215,96 @@ atmega328_isp: LFUSE = FF  atmega328_isp: EFUSE = 05  atmega328_isp: isp +# Sanguino has a minimum boot size of 1024 bytes, so enable extra functions +# +sanguino: TARGET = atmega644p +sanguino: MCU_TARGET = atmega644p +sanguino: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DBIGBOOT' +sanguino: AVR_FREQ = 16000000L +sanguino: LDSECTION  = --section-start=.text=0xfc00 +sanguino: $(PROGRAM)_atmega644p.hex +sanguino: $(PROGRAM)_atmega644p.lst + +sanguino_isp: sanguino +sanguino_isp: TARGET = atmega644p +sanguino_isp: MCU_TARGET = atmega644p +# 1024 byte boot +sanguino_isp: HFUSE = DE +# Low power xtal (16MHz) 16KCK/14CK+65ms +sanguino_isp: LFUSE = FF +# 2.7V brownout +sanguino_isp: EFUSE = 05 +sanguino_isp: isp + +# Mega has a minimum boot size of 1024 bytes, so enable extra functions +#mega: TARGET = atmega1280 +mega: MCU_TARGET = atmega1280 +mega: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' '-DBIGBOOT' +mega: AVR_FREQ = 16000000L +mega: LDSECTION  = --section-start=.text=0x1fc00 +mega: $(PROGRAM)_atmega1280.hex +mega: $(PROGRAM)_atmega1280.lst + +mega_isp: mega +mega_isp: TARGET = atmega1280 +mega_isp: MCU_TARGET = atmega1280 +# 1024 byte boot +mega_isp: HFUSE = DE +# Low power xtal (16MHz) 16KCK/14CK+65ms +mega_isp: LFUSE = FF +# 2.7V brownout +mega_isp: EFUSE = 05 +mega_isp: isp + +# ATmega8 +# +atmega8: TARGET = atmega8 +atmega8: MCU_TARGET = atmega8 +atmega8: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' +atmega8: AVR_FREQ = 16000000L  +atmega8: LDSECTION  = --section-start=.text=0x1e00 +atmega8: $(PROGRAM)_atmega8.hex +atmega8: $(PROGRAM)_atmega8.lst + +atmega8_isp: atmega8 +atmega8_isp: TARGET = atmega8 +atmega8_isp: MCU_TARGET = atmega8 +# SPIEN, CKOPT, Bootsize=512B +atmega8_isp: HFUSE = CC +# 2.7V brownout, Low power xtal (16MHz) 16KCK/14CK+65ms +atmega8_isp: LFUSE = BF +atmega8_isp: isp + +# ATmega88 +# +atmega88: TARGET = atmega88 +atmega88: MCU_TARGET = atmega88 +atmega88: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200' +atmega88: AVR_FREQ = 16000000L  +atmega88: LDSECTION  = --section-start=.text=0x1e00 +atmega88: $(PROGRAM)_atmega88.hex +atmega88: $(PROGRAM)_atmega88.lst + +atmega88_isp: atmega88 +atmega88_isp: TARGET = atmega88 +atmega88_isp: MCU_TARGET = atmega88 +# 2.7V brownout +atmega88_isp: HFUSE = DD +# Low power xtal (16MHz) 16KCK/14CK+65ms +atemga88_isp: LFUSE = FF +# 512 byte boot +atmega88_isp: EFUSE = 04 +atmega88_isp: isp + +  # 8MHz clocked platforms  #  # These are capable of 115200 baud  #  lilypad: TARGET = lilypad -lilypad: CFLAGS += '-DLED_START_FLASHES=3' '-DSOFT_UART' '-DBAUD_RATE=115200' +lilypad: MCU_TARGET = atmega168 +lilypad: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'  lilypad: AVR_FREQ = 8000000L  lilypad: $(PROGRAM)_lilypad.hex  lilypad: $(PROGRAM)_lilypad.lst @@ -220,11 +316,12 @@ lilypad_isp: HFUSE = DD  # Internal 8MHz osc (8MHz) Slow rising power  lilypad_isp: LFUSE = E2  # 512 byte boot -lilypad_isp: EFUSE = 02 +lilypad_isp: EFUSE = 04  lilypad_isp: isp  lilypad_resonator: TARGET = lilypad_resonator -lilypad_resonator: CFLAGS += '-DLED_START_FLASHES=3' '-DSOFT_UART' '-DBAUD_RATE=115200' +lilypad_resonator: MCU_TARGET = atmega168 +lilypad_resonator: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'  lilypad_resonator: AVR_FREQ = 8000000L  lilypad_resonator: $(PROGRAM)_lilypad_resonator.hex  lilypad_resonator: $(PROGRAM)_lilypad_resonator.lst @@ -236,11 +333,12 @@ lilypad_resonator_isp: HFUSE = DD  # Full swing xtal (20MHz) 258CK/14CK+4.1ms  lilypad_resonator_isp: LFUSE = C6  # 512 byte boot -lilypad_resonator_isp: EFUSE = 02 +lilypad_resonator_isp: EFUSE = 04  lilypad_resonator_isp: isp  pro8: TARGET = pro_8MHz -pro8: CFLAGS += '-DLED_START_FLASHES=3' '-DSOFT_UART' '-DBAUD_RATE=115200' +pro8: MCU_TARGET = atmega168 +pro8: CFLAGS += '-DLED_START_FLASHES=3' '-DBAUD_RATE=115200'  pro8: AVR_FREQ = 8000000L  pro8: $(PROGRAM)_pro_8MHz.hex  pro8: $(PROGRAM)_pro_8MHz.lst @@ -252,7 +350,7 @@ pro8_isp: HFUSE = DD  # Full swing xtal (20MHz) 258CK/14CK+4.1ms  pro8_isp: LFUSE = C6  # 512 byte boot -pro8_isp: EFUSE = 02 +pro8_isp: EFUSE = 04  pro8_isp: isp  atmega328_pro8: TARGET = atmega328_pro_8MHz @@ -266,7 +364,7 @@ atmega328_pro8: $(PROGRAM)_atmega328_pro_8MHz.lst  atmega328_pro8_isp: atmega328_pro8  atmega328_pro8_isp: TARGET = atmega328_pro_8MHz  atmega328_pro8_isp: MCU_TARGET = atmega328p -# 512 byte boot +# 512 byte boot, SPIEN  atmega328_pro8_isp: HFUSE = DE  # Low power xtal (16MHz) 16KCK/14CK+65ms  atmega328_pro8_isp: LFUSE = FF @@ -299,6 +397,11 @@ luminet_isp: LFUSE = 62  luminet_isp: EFUSE = FE  luminet_isp: isp +# +# Generic build instructions +# +# +  isp: $(TARGET)  	$(ISPFUSES)  	$(ISPFLASH)  | 
