summaryrefslogtreecommitdiff
path: root/BuildTests/BootloaderTest
diff options
context:
space:
mode:
Diffstat (limited to 'BuildTests/BootloaderTest')
-rw-r--r--BuildTests/BootloaderTest/BootloaderDeviceMap.cfg167
-rw-r--r--BuildTests/BootloaderTest/makefile65
2 files changed, 232 insertions, 0 deletions
diff --git a/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg b/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg
new file mode 100644
index 0000000000..e02d0a30d4
--- /dev/null
+++ b/BuildTests/BootloaderTest/BootloaderDeviceMap.cfg
@@ -0,0 +1,167 @@
+#
+# LUFA Library
+# Copyright (C) Dean Camera, 2017.
+#
+# dean [at] fourwalledcubicle [dot] com
+# www.lufa-lib.org
+#
+#
+# =============================================================================
+# Bootloader configuration map script, processed with the "BootloaderTest"
+# makefile. This script file defines the targets for each LUFA bootloader,
+# which are then built as part of the build test to ensure that there are no
+# failures on all standard configurations. To add a new build target for a
+# bootloader to this script, use the format:
+#
+# BOOTLOADER = {ARCH} : {MCU} : {BOARD} : {FLASH SIZE KB} : {BOOT SIZE KB} : {F_USB MHZ}
+#
+# And re-run the makefile.
+# =============================================================================
+#
+#
+# ------------ 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 :
+#
+# ------------ 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 :
+#
+# ------------ 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 :
+#
+# ---------- Printer Bootloader ------------------
+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 : 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 : 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 :
+#
diff --git a/BuildTests/BootloaderTest/makefile b/BuildTests/BootloaderTest/makefile
new file mode 100644
index 0000000000..34bdf1b364
--- /dev/null
+++ b/BuildTests/BootloaderTest/makefile
@@ -0,0 +1,65 @@
+#
+# LUFA Library
+# Copyright (C) Dean Camera, 2017.
+#
+# dean [at] fourwalledcubicle [dot] com
+# www.lufa-lib.org
+#
+
+# Makefile for the bootloader build test. This
+# test attempts to build all the bootloaders
+# with all supported device configurations.
+
+# Path to the LUFA library core
+LUFA_PATH := ../../LUFA/
+
+# Build test cannot be run with multiple parallel jobs
+.NOTPARALLEL:
+
+all: begin testbootloaders clean end
+
+begin:
+ @echo Executing build test "BootloaderTest".
+ @echo
+
+end:
+ @echo Build test "BootloaderTest" complete.
+ @echo
+
+testbootloaders:
+ @echo "buildtest:" > BuildMakefile
+
+ @while read line; \
+ do \
+ build_cfg=`echo $$line | grep -v "#" | sed 's/ //g'`; \
+ \
+ if ( test -n "$$build_cfg" ); then \
+ build_bootloader=`echo $$build_cfg | cut -d'=' -f1`; \
+ build_cfg=`echo $$build_cfg | cut -d'=' -f2-`; \
+ \
+ build_arch=`echo $$build_cfg | cut -d':' -f1`; \
+ build_mcu=`echo $$build_cfg | cut -d':' -f2`; \
+ build_board=`echo $$build_cfg | cut -d':' -f3`; \
+ build_flashsize=`echo $$build_cfg | cut -d':' -f4`; \
+ build_bootsize=`echo $$build_cfg | cut -d':' -f5`; \
+ build_fusb=`echo $$build_cfg | cut -d':' -f6`; \
+ \
+ printf "Found '%s' bootloader configuration (FLASH: %3s KB | BOOT: %3s KB | MCU: %12s / %4s | BOARD: %s | F_USB: %sMHz)\n" $$build_bootloader $$build_flashsize $$build_bootsize $$build_mcu $$build_arch $$build_board $$build_fusb; \
+ \
+ printf "\t@echo Building bootloader %s - %s - FLASH: %s KB, BOOT: %s KB, BOARD: %s, F_USB: %sMHz\n" $$build_bootloader $$build_mcu $$build_flashsize $$build_bootsize $$build_board $$build_fusb >> BuildMakefile; \
+ printf "\t$(MAKE) -C $(patsubst %/,%,$(LUFA_PATH))/../Bootloaders/%s/ clean elf ARCH=%s MCU=%s BOARD=%s FLASH_SIZE_KB=%s BOOT_SECTION_SIZE_KB=%s F_USB=%s000000 DEBUG_LEVEL=0\n\n" $$build_bootloader $$build_arch $$build_mcu $$build_board $$build_flashsize $$build_bootsize $$build_fusb >> BuildMakefile; \
+ fi; \
+ done < BootloaderDeviceMap.cfg
+
+ $(MAKE) -f BuildMakefile buildtest
+
+clean:
+ rm -f BuildMakefile
+
+%:
+
+.PHONY: all begin end testbootloaders clean
+
+# Include common DMBS build system modules
+DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS
+include $(DMBS_PATH)/core.mk