Commit 380f014c authored by Dean Camera's avatar Dean Camera
Browse files

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

Fixed compile error with the unreleased ATMEGA32U6 device.
parent 96fd39ed
# BOARD DEFINE = {ARCH} : {MCU} :
BOARD_USER = avr8 : at90usb1287 :
BOARD_NONE = avr8 : at90usb1287 :
BOARD_USBKEY = avr8 : at90usb1287 :
......@@ -48,4 +49,4 @@ BOARD_MULTIO = avr8 : at90usb162 :
BOARD_BIGMULTIO = avr8 : atmega32u4 :
BOARD_DUCE = avr8 : atmega32u2 :
BOARD_OLIMEX32U4 = avr8 : atmega32u4 :
BOARD_OLIMEXT32U4 = avr8 : atmega32u4 :
\ No newline at end of file
BOARD_OLIMEXT32U4 = avr8 : atmega32u4 :
......@@ -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`; \
......
# 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 :
#
# 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
%:
\ No newline at end of file
......@@ -13,6 +13,7 @@
all:
%:
$(MAKE) -C BoardDriverTest $@
$(MAKE) -C BootloaderBuildTest $@
$(MAKE) -C ModuleTest $@
$(MAKE) -C SingleUSBModeTest $@
$(MAKE) -C StaticAnalysisTest $@
This diff is collapsed.
......@@ -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;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment