Added build test to verify correct compilation of all bootloaders using all supported devices.

Fixed compile error with the unreleased ATMEGA32U6 device.
Dean Camera 13 years ago
parent 96fd39eda8
commit 380f014c4c

@ -1,4 +1,5 @@
# BOARD DEFINE = {ARCH} : {MCU} :
BOARD_USER = avr8 : at90usb1287 :
BOARD_NONE = avr8 : at90usb1287 :
BOARD_USBKEY = avr8 : at90usb1287 :

@ -29,11 +29,11 @@ makeboardlist:
@grep "BOARD_" $(LUFA_ROOT_PATH)/LUFA/Common/BoardTypes.h | cut -d'#' -f2 | cut -d' ' -f2 | grep "BOARD_" > BoardList.txt
testboards:
echo "buildtest:" > BuildMakefile
@echo "buildtest:" > BuildMakefile
@while read line; \
do \
build_cfg=`grep "$$line " BoardDeviceMap.cfg | sed 's/ //g' | cut -d'=' -f2-`; \
build_cfg=`grep "$$line " BoardDeviceMap.cfg | sed 's/ //g' | grep -v "#" | cut -d'=' -f2-`; \
\
build_board=$$line; \
build_arch=`echo $$build_cfg | cut -d':' -f1`; \

@ -0,0 +1,42 @@
# BOOTLOADER = {ARCH} : {MCU} : {BOARD} : {FLASH SIZE KB} : {BOOT SIZE KB} :
# ------------ CDC Bootloader -------------
CDC = avr8 : at90usb1287 : NONE : 128 : 8 :
CDC = avr8 : at90usb647 : NONE : 64 : 4 :
CDC = avr8 : at90usb1286 : NONE : 128 : 8 :
CDC = avr8 : at90usb646 : NONE : 64 : 4 :
CDC = avr8 : atmega32u4 : NONE : 32 : 4 :
CDC = avr8 : atmega16u4 : NONE : 16 : 4 :
CDC = avr8 : atmega32u2 : NONE : 32 : 4 :
CDC = avr8 : atmega16u2 : NONE : 16 : 4 :
CDC = avr8 : atmega8u2 : NONE : 8 : 4 :
CDC = avr8 : at90usb162 : NONE : 16 : 4 :
CDC = avr8 : at90usb82 : NONE : 8 : 4 :
# ------------ DFU Bootloader -------------
DFU = avr8 : at90usb1287 : NONE : 128 : 8 :
DFU = avr8 : at90usb647 : NONE : 64 : 4 :
DFU = avr8 : at90usb1286 : NONE : 128 : 8 :
DFU = avr8 : at90usb646 : NONE : 64 : 4 :
DFU = avr8 : atmega32u6 : NONE : 32 : 4 :
DFU = avr8 : atmega32u4 : NONE : 32 : 4 :
DFU = avr8 : atmega16u4 : NONE : 16 : 4 :
DFU = avr8 : atmega32u2 : NONE : 32 : 4 :
DFU = avr8 : atmega16u2 : NONE : 16 : 4 :
DFU = avr8 : atmega8u2 : NONE : 8 : 4 :
DFU = avr8 : at90usb162 : NONE : 16 : 4 :
DFU = avr8 : at90usb82 : NONE : 8 : 4 :
# ------------ HID Bootloader -------------
HID = avr8 : at90usb1287 : NONE : 128 : 4 :
HID = avr8 : at90usb647 : NONE : 64 : 4 :
HID = avr8 : at90usb1286 : NONE : 128 : 4 :
HID = avr8 : at90usb646 : NONE : 64 : 4 :
HID = avr8 : atmega32u6 : NONE : 32 : 4 :
HID = avr8 : atmega32u4 : NONE : 32 : 4 :
HID = avr8 : atmega16u4 : NONE : 16 : 4 :
HID = avr8 : atmega32u2 : NONE : 32 : 2 :
HID = avr8 : atmega16u2 : NONE : 16 : 2 :
HID = avr8 : atmega8u2 : NONE : 8 : 2 :
HID = avr8 : at90usb162 : NONE : 16 : 2 :
HID = avr8 : at90usb82 : NONE : 8 : 2 :

@ -0,0 +1,56 @@
#
# LUFA Library
# Copyright (C) Dean Camera, 2011.
#
# 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 root of the LUFA tree to scan
LUFA_ROOT_PATH = ../..
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 | sed 's/ //g' | grep -v "#"`; \
\
if ( ! test -z "$$build_cfg" ); then \
build_bootloader=`echo $$build_cfg | cut -d'=' -f1`; \
build_arch=`echo $$build_cfg | cut -d'=' -f2- | cut -d':' -f1`; \
build_mcu=`echo $$build_cfg | cut -d'=' -f2- | cut -d':' -f2`; \
build_board=`echo $$build_cfg | cut -d'=' -f2- | cut -d':' -f3`; \
build_flashsize=`echo $$build_cfg | cut -d'=' -f2- | cut -d':' -f4`; \
build_bootsize=`echo $$build_cfg | cut -d'=' -f2- | cut -d':' -f5`; \
\
printf "Found bootloader configuration for bootloader '%s' (FLASH: %3s KB | BOOT: %3s KB | MCU: %12s / %4s)\n" $$build_bootloader $$build_flashsize $$build_bootsize $$build_mcu $$build_arch; \
\
printf "\t@echo Building bootloader %s - %s - FLASH: %s KB, BOOT: %s KB\n" $$build_bootloader $$build_mcu $$build_flashsize $$build_bootsize >> BuildMakefile; \
printf "\tmake -s -C $(LUFA_ROOT_PATH)/Bootloaders/%s/ clean\n" $$build_bootloader >> BuildMakefile; \
printf "\tmake -s -C $(LUFA_ROOT_PATH)/Bootloaders/%s/ MCU=%s BOARD=%s FLASH_SIZE_KB=%s BOOT_SECTION_SIZE_KB=%s elf\n\n" $$build_bootloader $$build_mcu $$build_board $$build_flashsize $$build_bootsize >> BuildMakefile; \
fi; \
done < BootloaderDeviceMap.cfg
$(MAKE) -f BuildMakefile buildtest
clean:
rm -f BuildMakefile
%:

@ -13,6 +13,7 @@
all:
%:
$(MAKE) -C BoardDriverTest $@
$(MAKE) -C BootloaderBuildTest $@
$(MAKE) -C ModuleTest $@
$(MAKE) -C SingleUSBModeTest $@
$(MAKE) -C StaticAnalysisTest $@

File diff suppressed because one or more lines are too long

@ -15,6 +15,9 @@
* - Added support for the Olimex AVR-USB-T32U4 board
* - Added new Endpoint_ConfigureEndpointTable() function
* - Added new Pipe_ConfigurePipeTable() function
* - Added build test to verify correct compilation of all board drivers using all driver APIs
* - Added build test to verify correct compilation of all bootloaders using all supported devices
* - Added build test to verify that there are no detectable errors in the codebase via static analysis
* - Library Applications:
* - Modified the CDC Host demos to set a default CDC Line Encoding on enumerated devices
* - Added Dataflash operational checks and aborts to all projects using the Dataflash to ensure it is working correctly before use

@ -216,9 +216,9 @@
static inline uint16_t Endpoint_BytesInEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
static inline uint16_t Endpoint_BytesInEndpoint(void)
{
#if defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
#if (defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)) && !defined(__AVR_ATmega32U6__)
return UEBCX;
#elif defined(USB_SERIES_4_AVR)
#elif defined(USB_SERIES_4_AVR) || defined(__AVR_ATmega32U6__)
return (((uint16_t)UEBCHX << 8) | UEBCLX);
#elif defined(USB_SERIES_2_AVR)
return UEBCLX;

Loading…
Cancel
Save