diff --git a/Bootloaders/MassStorage/BootloaderMassStorage.c b/Bootloaders/MassStorage/BootloaderMassStorage.c index 61f8760f86..28f42b6d20 100644 --- a/Bootloaders/MassStorage/BootloaderMassStorage.c +++ b/Bootloaders/MassStorage/BootloaderMassStorage.c @@ -69,11 +69,13 @@ void Application_Jump_Check(void) /* Enable pull-up on the IO13 pin so we can use it to select the mode */ PORTC |= (1 << 7); Delay_MS(10); + + /* If IO13 is not jumpered to ground, start the user application instead */ JumpToApplication |= ((PINC & (1 << 7)) != 0); - PORTC &= ~(1 << 7); - #endif - #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) + /* Disable pull-up after the check has completed */ + PORTC &= ~(1 << 7); + #elif ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) /* Disable JTAG debugging */ JTAG_DISABLE(); diff --git a/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg b/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg index 5dba2f4ad8..f35da44844 100644 --- a/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg +++ b/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg @@ -20,134 +20,152 @@ # # # ------------ CDC Bootloader -------------------- -CDC = AVR8 : at90usb1287 : XPLAIN : 128 : 8 : 8 : -CDC = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : -CDC = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : -CDC = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : -CDC = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : -CDC = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : -CDC = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : -CDC = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : -CDC = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : -CDC = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : -CDC = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : -CDC = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : -CDC = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : -CDC = AVR8 : at90usb82 : NONE : 8 : 4 : 8 : -CDC = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : -CDC = AVR8 : at90usb1287 : NONE : 128 : 4 : 16 : -CDC = AVR8 : at90usb647 : NONE : 64 : 4 : 16 : -CDC = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : -CDC = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : -CDC = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : -CDC = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : -CDC = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : -CDC = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : -CDC = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : -CDC = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : -CDC = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : -CDC = AVR8 : at90usb82 : NONE : 8 : 4 : 16 : +CDC = AVR8 : at90usb1287 : XPLAIN : 128 : 8 : 8 : +CDC = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : +CDC = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : +CDC = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : +CDC = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : +CDC = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : +CDC = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : +CDC = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : +CDC = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : +CDC = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : +CDC = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : +CDC = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : +CDC = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : +CDC = AVR8 : at90usb82 : NONE : 8 : 4 : 8 : +CDC = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : +CDC = AVR8 : at90usb1287 : NONE : 128 : 4 : 16 : +CDC = AVR8 : at90usb647 : NONE : 64 : 4 : 16 : +CDC = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : +CDC = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : +CDC = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : +CDC = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : +CDC = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : +CDC = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : +CDC = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : +CDC = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : +CDC = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : +CDC = AVR8 : at90usb82 : NONE : 8 : 4 : 16 : # # ------------ DFU Bootloader -------------------- -DFU = AVR8 : at90usb1287 : XPLAIN : 128 : 8 : 8 : -DFU = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : -DFU = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : -DFU = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : -DFU = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : -DFU = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : -DFU = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : -DFU = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : -DFU = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : -DFU = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : -DFU = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : -DFU = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : -DFU = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : -DFU = AVR8 : at90usb82 : NONE : 8 : 4 : 8 : -DFU = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : -DFU = AVR8 : at90usb1287 : NONE : 128 : 4 : 16 : -DFU = AVR8 : at90usb647 : NONE : 64 : 4 : 16 : -DFU = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : -DFU = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : -DFU = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : -DFU = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : -DFU = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : -DFU = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : -DFU = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : -DFU = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : -DFU = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : -DFU = AVR8 : at90usb82 : NONE : 8 : 4 : 16 : +DFU = AVR8 : at90usb1287 : XPLAIN : 128 : 8 : 8 : +DFU = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : +DFU = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : +DFU = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : +DFU = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : +DFU = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : +DFU = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : +DFU = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : +DFU = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : +DFU = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : +DFU = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : +DFU = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : +DFU = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : +DFU = AVR8 : at90usb82 : NONE : 8 : 4 : 8 : +DFU = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : +DFU = AVR8 : at90usb1287 : NONE : 128 : 4 : 16 : +DFU = AVR8 : at90usb647 : NONE : 64 : 4 : 16 : +DFU = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : +DFU = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : +DFU = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : +DFU = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : +DFU = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : +DFU = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : +DFU = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : +DFU = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : +DFU = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : +DFU = AVR8 : at90usb82 : NONE : 8 : 4 : 16 : # # ------------ HID Bootloader -------------------- -HID = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : -HID = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : -HID = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : -HID = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : -HID = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : -HID = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : -HID = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : -HID = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : -HID = AVR8 : atmega32u2 : NONE : 32 : 2 : 8 : -HID = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : -HID = AVR8 : atmega16u2 : NONE : 16 : 2 : 8 : -HID = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : -HID = AVR8 : atmega8u2 : NONE : 8 : 2 : 8 : -HID = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : -HID = AVR8 : at90usb162 : NONE : 16 : 2 : 8 : -HID = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : -HID = AVR8 : at90usb162 : NONE : 16 : 2 : 8 : -HID = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : -HID = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : -HID = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : -HID = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : -HID = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : -HID = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : -HID = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : -HID = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : -HID = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : -HID = AVR8 : atmega32u2 : NONE : 32 : 2 : 16 : -HID = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : -HID = AVR8 : atmega16u2 : NONE : 16 : 2 : 16 : -HID = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : -HID = AVR8 : atmega8u2 : NONE : 8 : 2 : 16 : -HID = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : -HID = AVR8 : at90usb162 : NONE : 16 : 2 : 16 : -HID = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : -HID = AVR8 : at90usb162 : NONE : 16 : 2 : 16 : -HID = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : +HID = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : +HID = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : +HID = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : +HID = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : +HID = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : +HID = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : +HID = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : +HID = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : +HID = AVR8 : atmega32u2 : NONE : 32 : 2 : 8 : +HID = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : +HID = AVR8 : atmega16u2 : NONE : 16 : 2 : 8 : +HID = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : +HID = AVR8 : atmega8u2 : NONE : 8 : 2 : 8 : +HID = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : +HID = AVR8 : at90usb162 : NONE : 16 : 2 : 8 : +HID = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : +HID = AVR8 : at90usb162 : NONE : 16 : 2 : 8 : +HID = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : +HID = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : +HID = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : +HID = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : +HID = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : +HID = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : +HID = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : +HID = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : +HID = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : +HID = AVR8 : atmega32u2 : NONE : 32 : 2 : 16 : +HID = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : +HID = AVR8 : atmega16u2 : NONE : 16 : 2 : 16 : +HID = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : +HID = AVR8 : atmega8u2 : NONE : 8 : 2 : 16 : +HID = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : +HID = AVR8 : at90usb162 : NONE : 16 : 2 : 16 : +HID = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : +HID = AVR8 : at90usb162 : NONE : 16 : 2 : 16 : +HID = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : # # ---------- Printer Bootloader ------------------ -Printer = AVR8 : at90usb1287 : XPLAIN : 128 : 8 : 8 : -Printer = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : -Printer = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : -Printer = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : -Printer = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : -Printer = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : -Printer = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : -Printer = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : -Printer = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : -Printer = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : -Printer = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : -Printer = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : -Printer = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : -Printer = AVR8 : at90usb82 : NONE : 8 : 4 : 8 : -Printer = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : -Printer = AVR8 : at90usb1287 : NONE : 128 : 4 : 16 : -Printer = AVR8 : at90usb647 : NONE : 64 : 4 : 16 : -Printer = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : -Printer = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : -Printer = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : -Printer = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : -Printer = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : -Printer = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : -Printer = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : -Printer = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : -Printer = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : -Printer = AVR8 : at90usb82 : NONE : 8 : 4 : 16 : +Printer = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : +Printer = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : +Printer = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : +Printer = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : +Printer = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : +Printer = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : +Printer = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : +Printer = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : +Printer = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : +Printer = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : +Printer = AVR8 : atmega8u2 : NONE : 8 : 4 : 8 : +Printer = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : +Printer = AVR8 : at90usb82 : NONE : 8 : 4 : 8 : +Printer = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : +Printer = AVR8 : at90usb1287 : NONE : 128 : 4 : 16 : +Printer = AVR8 : at90usb647 : NONE : 64 : 4 : 16 : +Printer = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : +Printer = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : +Printer = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : +Printer = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : +Printer = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : +Printer = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : +Printer = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : +Printer = AVR8 : atmega8u2 : NONE : 8 : 4 : 16 : +Printer = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : +Printer = AVR8 : at90usb82 : NONE : 8 : 4 : 16 : # # ---------- Mass Storage Bootloader ----------------- -MassStorage = AVR8 : at90usb1287 : XPLAIN : 128 : 8 : 8 : -MassStorage = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : -MassStorage = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : -MassStorage = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : -MassStorage = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : +MassStorage = AVR8 : at90usb1287 : XPLAIN : 128 : 8 : 8 : +MassStorage = AVR8 : at90usb1287 : NONE : 128 : 8 : 8 : +MassStorage = AVR8 : at90usb1287 : NONE : 128 : 4 : 8 : +MassStorage = AVR8 : at90usb647 : NONE : 64 : 4 : 8 : +MassStorage = AVR8 : at90usb1286 : NONE : 128 : 8 : 8 : +MassStorage = AVR8 : at90usb1286 : NONE : 128 : 4 : 8 : +MassStorage = AVR8 : at90usb646 : NONE : 64 : 4 : 8 : +MassStorage = AVR8 : atmega32u4 : LEONARDO : 32 : 4 : 16 : +MassStorage = AVR8 : atmega32u4 : NONE : 32 : 4 : 8 : +MassStorage = AVR8 : atmega16u4 : NONE : 16 : 4 : 8 : +MassStorage = AVR8 : atmega32u2 : NONE : 32 : 4 : 8 : +MassStorage = AVR8 : atmega16u2 : NONE : 16 : 4 : 8 : +MassStorage = AVR8 : at90usb162 : NONE : 16 : 4 : 8 : +MassStorage = AVR8 : at90usb1287 : NONE : 128 : 8 : 16 : +MassStorage = AVR8 : at90usb1287 : NONE : 128 : 4 : 16 : +MassStorage = AVR8 : at90usb647 : NONE : 64 : 4 : 16 : +MassStorage = AVR8 : at90usb1286 : NONE : 128 : 8 : 16 : +MassStorage = AVR8 : at90usb1286 : NONE : 128 : 4 : 16 : +MassStorage = AVR8 : at90usb646 : NONE : 64 : 4 : 16 : +MassStorage = AVR8 : atmega32u4 : NONE : 32 : 4 : 16 : +MassStorage = AVR8 : atmega16u4 : NONE : 16 : 4 : 16 : +MassStorage = AVR8 : atmega32u2 : NONE : 32 : 4 : 16 : +MassStorage = AVR8 : atmega16u2 : NONE : 16 : 4 : 16 : +MassStorage = AVR8 : at90usb162 : NONE : 16 : 4 : 16 : #