|
@@ -17,17 +17,24 @@ optiboot28.upload.protocol=arduino
|
|
|
optiboot28.upload.speed=115200
|
|
|
|
|
|
optiboot28.bootloader.tool=arduino:avrdude
|
|
|
-optiboot28.bootloader.low_fuses=0xFF
|
|
|
+optiboot28.bootloader.low_fuses=0xF7
|
|
|
optiboot28.bootloader.unlock_bits=0x2F
|
|
|
optiboot28.bootloader.lock_bits=0x0F
|
|
|
|
|
|
+#
|
|
|
+# Other Clock speeds.
|
|
|
+# For 8MHz using the internal RC Oscillator, we adjust fuses, use the same
|
|
|
+# bootloader binary, and halve the upload rate.
|
|
|
+#
|
|
|
optiboot28.menu.mhz.16MHz=16MHz
|
|
|
optiboot28.menu.mhz.16MHz.upload.speed=115200
|
|
|
optiboot28.menu.mhz.8MHz=8MHz (int)
|
|
|
optiboot28.menu.mhz.8MHz.build.f_cpu=8000000L
|
|
|
+optiboot28.menu.mhz.8MHz.bootloader.low_fuses=0xE2
|
|
|
optiboot28.menu.mhz.8MHz.upload.speed=57600
|
|
|
optiboot28.menu.mhz.1MHz=1MHz (int)
|
|
|
optiboot28.menu.mhz.1MHz.build.f_cpu=1000000L
|
|
|
+optiboot28.menu.mhz.1MHz.bootloader.low_fuses=0x62
|
|
|
optiboot28.menu.mhz.1MHz.upload.speed=9600
|
|
|
|
|
|
# optiboot platforms should be UNO-like more than anything else.
|
|
@@ -42,8 +49,8 @@ optiboot28.menu.cpu.atmega328p=ATmega328p
|
|
|
optiboot28.menu.cpu.atmega328p.upload.maximum_size=32256
|
|
|
optiboot28.menu.cpu.atmega328p.upload.maximum_data_size=2048
|
|
|
|
|
|
-optiboot28.menu.cpu.atmega328p.bootloader.high_fuses=0xDA
|
|
|
-optiboot28.menu.cpu.atmega328p.bootloader.extended_fuses=0x05
|
|
|
+optiboot28.menu.cpu.atmega328p.bootloader.high_fuses=0xDE
|
|
|
+optiboot28.menu.cpu.atmega328p.bootloader.extended_fuses=0xFD
|
|
|
optiboot28.menu.cpu.atmega328p.bootloader.file=optiboot/optiboot_atmega328.hex
|
|
|
|
|
|
optiboot28.menu.cpu.atmega328p.build.mcu=atmega328p
|
|
@@ -54,9 +61,8 @@ optiboot28.menu.cpu.atmega328=ATmega328
|
|
|
optiboot28.menu.cpu.atmega328.upload.maximum_size=32256
|
|
|
optiboot28.menu.cpu.atmega328.upload.maximum_data_size=2048
|
|
|
|
|
|
-
|
|
|
-optiboot28.menu.cpu.atmega328.bootloader.high_fuses=0xDA
|
|
|
-optiboot28.menu.cpu.atmega328.bootloader.extended_fuses=0x05
|
|
|
+optiboot28.menu.cpu.atmega328.bootloader.high_fuses=0xDE
|
|
|
+optiboot28.menu.cpu.atmega328.bootloader.extended_fuses=0xFD
|
|
|
optiboot28.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex
|
|
|
# lie! Arduino wise, these are compatible
|
|
|
optiboot28.menu.cpu.atmega328.build.mcu=atmega328p
|
|
@@ -69,8 +75,8 @@ optiboot28.menu.cpu.atmega168=ATmega168
|
|
|
optiboot28.menu.cpu.atmega168.upload.maximum_size=15872
|
|
|
optiboot28.menu.cpu.atmega168.upload.maximum_data_size=1024
|
|
|
|
|
|
-optiboot28.menu.cpu.atmega168.bootloader.high_fuses=0xdd
|
|
|
-optiboot28.menu.cpu.atmega168.bootloader.extended_fuses=0x00
|
|
|
+optiboot28.menu.cpu.atmega168.bootloader.high_fuses=0xDD
|
|
|
+optiboot28.menu.cpu.atmega168.bootloader.extended_fuses=0xFC
|
|
|
optiboot28.menu.cpu.atmega168.bootloader.file=optiboot/optiboot_optiboot168.hex
|
|
|
|
|
|
optiboot28.menu.cpu.atmega168.build.mcu=atmega168
|
|
@@ -81,8 +87,8 @@ optiboot28.menu.cpu.atmega168p=ATmega168p
|
|
|
optiboot28.menu.cpu.atmega168p.upload.maximum_size=15872
|
|
|
optiboot28.menu.cpu.atmega168p.upload.maximum_data_size=1024
|
|
|
|
|
|
-optiboot28.menu.cpu.atmega168p.bootloader.high_fuses=0xdd
|
|
|
-optiboot28.menu.cpu.atmega168p.bootloader.extended_fuses=0x00
|
|
|
+optiboot28.menu.cpu.atmega168p.bootloader.high_fuses=0xDD
|
|
|
+optiboot28.menu.cpu.atmega168p.bootloader.extended_fuses=0xFC
|
|
|
optiboot28.menu.cpu.atmega168p.bootloader.file=optiboot/optiboot_optiboot168p.hex
|
|
|
|
|
|
optiboot28.menu.cpu.atmega168p.build.mcu=atmega168p
|
|
@@ -95,8 +101,10 @@ optiboot28.menu.cpu.atmega8=ATmega8
|
|
|
optiboot28.menu.cpu.atmega8.upload.maximum_size=7680
|
|
|
optiboot28.menu.cpu.atmega8.upload.maximum_data_size=1024
|
|
|
|
|
|
-optiboot28.menu.cpu.atmega8.bootloader.high_fuses=0xdd
|
|
|
-optiboot28.menu.cpu.atmega8.bootloader.extended_fuses=0x00
|
|
|
+optiboot28.menu.cpu.atmega8.bootloader.high_fuses=0xCC
|
|
|
+optiboot28.menu.cpu.atmega8.bootloader.low_fuses=0xBF
|
|
|
+optiboot28.menu.cpu.8MHz.bootloader.low_fuses=0xE2
|
|
|
+# optiboot28.menu.cpu.atmega8.bootloader.extended_fuses=0x00
|
|
|
optiboot28.menu.cpu.atmega8.bootloader.file=optiboot/optiboot_atmega8.hex
|
|
|
|
|
|
optiboot28.menu.cpu.atmega8.build.mcu=atmega8
|
|
@@ -108,8 +116,8 @@ optiboot28.menu.cpu.atmega88=ATmega88
|
|
|
optiboot28.menu.cpu.atmega88.upload.maximum_size=7680
|
|
|
optiboot28.menu.cpu.atmega88.upload.maximum_data_size=1024
|
|
|
|
|
|
-optiboot28.menu.cpu.atmega88.bootloader.high_fuses=0xdd
|
|
|
-optiboot28.menu.cpu.atmega88.bootloader.extended_fuses=0x00
|
|
|
+optiboot28.menu.cpu.atmega88.bootloader.high_fuses=0xDD
|
|
|
+optiboot28.menu.cpu.atmega88.bootloader.extended_fuses=0xFC
|
|
|
optiboot28.menu.cpu.atmega88.bootloader.file=optiboot/optiboot_atmega88.hex
|
|
|
|
|
|
optiboot28.menu.cpu.atmega88.build.mcu=atmega88p
|
|
@@ -126,7 +134,6 @@ optiboot1280.upload.protocol=arduino
|
|
|
optiboot1280.upload.speed=115200
|
|
|
|
|
|
optiboot1280.bootloader.tool=arduino:avrdude
|
|
|
-optiboot1280.bootloader.low_fuses=0xFF
|
|
|
optiboot1280.bootloader.unlock_bits=0x3F
|
|
|
optiboot1280.bootloader.lock_bits=0x2F
|
|
|
|
|
@@ -139,8 +146,9 @@ optiboot1280.build.variant=arduino:mega
|
|
|
optiboot1280.upload.maximum_size=130048
|
|
|
optiboot1280.upload.maximum_data_size=8192
|
|
|
|
|
|
-optiboot1280.bootloader.high_fuses=0xDA
|
|
|
-optiboot1280.bootloader.extended_fuses=0x05
|
|
|
+optiboot1280.bootloader.low_fuses=0xFF
|
|
|
+optiboot1280.bootloader.high_fuses=0xDE
|
|
|
+optiboot1280.bootloader.extended_fuses=0xFD
|
|
|
optiboot1280.bootloader.file=optiboot/optiboot_atmega1280.hex
|
|
|
|
|
|
optiboot1280.build.mcu=atmega1280
|
|
@@ -155,7 +163,6 @@ optiboot1284.upload.protocol=arduino
|
|
|
optiboot1284.upload.speed=115200
|
|
|
|
|
|
optiboot1284.bootloader.tool=arduino:avrdude
|
|
|
-optiboot1284.bootloader.low_fuses=0xFF
|
|
|
optiboot1284.bootloader.unlock_bits=0x3F
|
|
|
optiboot1284.bootloader.lock_bits=0x2F
|
|
|
|
|
@@ -168,8 +175,10 @@ optiboot1284.build.variant=arduino:standard
|
|
|
optiboot1284.upload.maximum_size=130048
|
|
|
optiboot1284.upload.maximum_data_size=16384
|
|
|
|
|
|
-optiboot1284.bootloader.high_fuses=0xDA
|
|
|
-optiboot1284.bootloader.extended_fuses=0x05
|
|
|
+# Select full swing crystal oscillator (7F rather than FF)
|
|
|
+optiboot1284.bootloader.low_fuses=0x7F
|
|
|
+optiboot1284.bootloader.high_fuses=0xDE
|
|
|
+optiboot1284.bootloader.extended_fuses=0xFD
|
|
|
optiboot1284.bootloader.file=optiboot/optiboot_atmega1284p.hex
|
|
|
|
|
|
optiboot1284.build.mcu=atmega1284p
|
|
@@ -184,7 +193,6 @@ optiboot32.upload.protocol=arduino
|
|
|
optiboot32.upload.speed=115200
|
|
|
|
|
|
optiboot32.bootloader.tool=arduino:avrdude
|
|
|
-optiboot32.bootloader.low_fuses=0xFF
|
|
|
optiboot32.bootloader.unlock_bits=0x3F
|
|
|
optiboot32.bootloader.lock_bits=0x2F
|
|
|
|
|
@@ -197,8 +205,9 @@ optiboot32.build.variant=arduino:standard
|
|
|
optiboot32.upload.maximum_size=130048
|
|
|
optiboot32.upload.maximum_data_size=8192
|
|
|
|
|
|
-optiboot32.bootloader.high_fuses=0xDA
|
|
|
-optiboot32.bootloader.extended_fuses=0x05
|
|
|
+optiboot32.bootloader.low_fuses=0xBF
|
|
|
+optiboot32.bootloader.high_fuses=0xCE
|
|
|
+optiboot32.bootloader.extended_fuses=0xFF
|
|
|
optiboot32.bootloader.file=optiboot/optiboot_atmega32.hex
|
|
|
|
|
|
optiboot32.build.mcu=atmega32
|
|
@@ -211,18 +220,24 @@ optiboott84.name=Optiboot on Tiny84
|
|
|
optiboott84.menu.mhz.8MHz=8MHz (int)
|
|
|
optiboott84.menu.mhz.8MHz.build.f_cpu=8000000L
|
|
|
optiboott84.menu.mhz.8MHz.upload.speed=57600
|
|
|
-optiboott84.bootloader.file=optiboot/optiboot_attiny84_8mhz.hex
|
|
|
+optiboott84.menu.mhz.8MHz.bootloader.file=optiboot/optiboot_attiny84_8mhz.hex
|
|
|
+optiboott84.menu.mhz.8MHz.bootloader.low_fuses=0xE2
|
|
|
+optiboott84.menu.mhz.8MHz.bootloader.high_fuses=0xDE
|
|
|
+optiboott84.menu.mhz.8MHz.bootloader.extended_fuses=0xFE
|
|
|
+
|
|
|
optiboott84.menu.mhz.1MHz=1MHz (int)
|
|
|
optiboott84.menu.mhz.1MHz.build.f_cpu=1000000L
|
|
|
optiboott84.menu.mhz.1MHz.upload.speed=9600
|
|
|
-optiboott84.bootloader.file=optiboot/optiboot_attiny84.hex
|
|
|
+optiboott84.menu.mhz.1MHz.bootloader.file=optiboot/optiboot_attiny84.hex
|
|
|
+optiboott84.menu.mhz.1MHz.bootloader.low_fuses=0x62
|
|
|
+optiboott84.menu.mhz.1MHz.bootloader.high_fuses=0xDE
|
|
|
+optiboott84.menu.mhz.1MHz.bootloader.extended_fuses=0xFE
|
|
|
|
|
|
optiboott84.upload.tool=arduino:avrdude
|
|
|
optiboott84.upload.protocol=arduino
|
|
|
optiboott84.upload.speed=9600
|
|
|
|
|
|
optiboott84.bootloader.tool=arduino:avrdude
|
|
|
-optiboott84.bootloader.low_fuses=0xFF
|
|
|
optiboott84.bootloader.unlock_bits=0x3F
|
|
|
optiboott84.bootloader.lock_bits=0x2F
|
|
|
|
|
@@ -235,7 +250,4 @@ optiboott84.build.variant=tiny:tiny
|
|
|
optiboott84.upload.maximum_size=7600
|
|
|
optiboott84.upload.maximum_data_size=512
|
|
|
|
|
|
-optiboott84.bootloader.high_fuses=0xDA
|
|
|
-optiboott84.bootloader.extended_fuses=0x05
|
|
|
-
|
|
|
optiboott84.build.mcu=attiny84
|