Squashed 'lib/lufa/' content from commit 385d40300
git-subtree-dir: lib/lufa git-subtree-split: 385d4030035dbaf41591309dbde47653bd03841b
This commit is contained in:
commit
60b30c0363
1455 changed files with 394541 additions and 0 deletions
41
BuildTests/ModuleTest/Dummy.S
Normal file
41
BuildTests/ModuleTest/Dummy.S
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
LUFA Library
|
||||
Copyright (C) Dean Camera, 2017.
|
||||
|
||||
dean [at] fourwalledcubicle [dot] com
|
||||
www.lufa-lib.org
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this
|
||||
software and its documentation for any purpose is hereby granted
|
||||
without fee, provided that the above copyright notice appear in
|
||||
all copies and that both that the copyright notice and this
|
||||
permission notice and warranty disclaimer appear in supporting
|
||||
documentation, and that the name of the author not be used in
|
||||
advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
The author disclaims all warranties with regard to this
|
||||
software, including all implied warranties of merchantability
|
||||
and fitness. In no event shall the author be liable for any
|
||||
special, indirect or consequential damages or any damages
|
||||
whatsoever resulting from loss of use, data or profits, whether
|
||||
in an action of contract, negligence or other tortious action,
|
||||
arising out of or in connection with the use or performance of
|
||||
this software.
|
||||
*/
|
||||
|
||||
.section .text
|
||||
|
||||
|
||||
# Mandatory entry point for successful compilation and link
|
||||
.global main
|
||||
main:
|
||||
|
||||
|
||||
# Mandatory callback needed for base compile of the USB driver
|
||||
.global CALLBACK_USB_GetDescriptor
|
||||
CALLBACK_USB_GetDescriptor:
|
56
BuildTests/ModuleTest/Modules.h
Normal file
56
BuildTests/ModuleTest/Modules.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
LUFA Library
|
||||
Copyright (C) Dean Camera, 2017.
|
||||
|
||||
dean [at] fourwalledcubicle [dot] com
|
||||
www.lufa-lib.org
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this
|
||||
software and its documentation for any purpose is hereby granted
|
||||
without fee, provided that the above copyright notice appear in
|
||||
all copies and that both that the copyright notice and this
|
||||
permission notice and warranty disclaimer appear in supporting
|
||||
documentation, and that the name of the author not be used in
|
||||
advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
The author disclaims all warranties with regard to this
|
||||
software, including all implied warranties of merchantability
|
||||
and fitness. In no event shall the author be liable for any
|
||||
special, indirect or consequential damages or any damages
|
||||
whatsoever resulting from loss of use, data or profits, whether
|
||||
in an action of contract, negligence or other tortious action,
|
||||
arising out of or in connection with the use or performance of
|
||||
this software.
|
||||
*/
|
||||
|
||||
#include <LUFA/Common/Common.h>
|
||||
|
||||
#include <LUFA/Platform/Platform.h>
|
||||
|
||||
#include <LUFA/Drivers/USB/USB.h>
|
||||
#include <LUFA/Drivers/Misc/RingBuffer.h>
|
||||
#include <LUFA/Drivers/Misc/TerminalCodes.h>
|
||||
|
||||
#if (ARCH == ARCH_AVR8)
|
||||
#if defined(ADC)
|
||||
#include <LUFA/Drivers/Peripheral/ADC.h>
|
||||
#endif
|
||||
|
||||
#include <LUFA/Drivers/Peripheral/Serial.h>
|
||||
#include <LUFA/Drivers/Peripheral/SerialSPI.h>
|
||||
#include <LUFA/Drivers/Peripheral/SPI.h>
|
||||
|
||||
#if defined(TWCR)
|
||||
#include <LUFA/Drivers/Peripheral/TWI.h>
|
||||
#endif
|
||||
#elif (ARCH == ARCH_XMEGA)
|
||||
#include <LUFA/Drivers/Peripheral/Serial.h>
|
||||
#include <LUFA/Drivers/Peripheral/SerialSPI.h>
|
||||
#include <LUFA/Drivers/Peripheral/SPI.h>
|
||||
#include <LUFA/Drivers/Peripheral/TWI.h>
|
||||
#endif
|
31
BuildTests/ModuleTest/Test_C.c
Normal file
31
BuildTests/ModuleTest/Test_C.c
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
LUFA Library
|
||||
Copyright (C) Dean Camera, 2017.
|
||||
|
||||
dean [at] fourwalledcubicle [dot] com
|
||||
www.lufa-lib.org
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this
|
||||
software and its documentation for any purpose is hereby granted
|
||||
without fee, provided that the above copyright notice appear in
|
||||
all copies and that both that the copyright notice and this
|
||||
permission notice and warranty disclaimer appear in supporting
|
||||
documentation, and that the name of the author not be used in
|
||||
advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
The author disclaims all warranties with regard to this
|
||||
software, including all implied warranties of merchantability
|
||||
and fitness. In no event shall the author be liable for any
|
||||
special, indirect or consequential damages or any damages
|
||||
whatsoever resulting from loss of use, data or profits, whether
|
||||
in an action of contract, negligence or other tortious action,
|
||||
arising out of or in connection with the use or performance of
|
||||
this software.
|
||||
*/
|
||||
|
||||
#include "Modules.h"
|
31
BuildTests/ModuleTest/Test_CPP.cpp
Normal file
31
BuildTests/ModuleTest/Test_CPP.cpp
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
LUFA Library
|
||||
Copyright (C) Dean Camera, 2017.
|
||||
|
||||
dean [at] fourwalledcubicle [dot] com
|
||||
www.lufa-lib.org
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this
|
||||
software and its documentation for any purpose is hereby granted
|
||||
without fee, provided that the above copyright notice appear in
|
||||
all copies and that both that the copyright notice and this
|
||||
permission notice and warranty disclaimer appear in supporting
|
||||
documentation, and that the name of the author not be used in
|
||||
advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
The author disclaims all warranties with regard to this
|
||||
software, including all implied warranties of merchantability
|
||||
and fitness. In no event shall the author be liable for any
|
||||
special, indirect or consequential damages or any damages
|
||||
whatsoever resulting from loss of use, data or profits, whether
|
||||
in an action of contract, negligence or other tortious action,
|
||||
arising out of or in connection with the use or performance of
|
||||
this software.
|
||||
*/
|
||||
|
||||
#include "Modules.h"
|
67
BuildTests/ModuleTest/makefile
Normal file
67
BuildTests/ModuleTest/makefile
Normal file
|
@ -0,0 +1,67 @@
|
|||
#
|
||||
# LUFA Library
|
||||
# Copyright (C) Dean Camera, 2017.
|
||||
#
|
||||
# dean [at] fourwalledcubicle [dot] com
|
||||
# www.lufa-lib.org
|
||||
#
|
||||
|
||||
# Makefile for the module build test. This test
|
||||
# attempts to build as many modules as possible
|
||||
# under all supported architectures, and include
|
||||
# all module headers in a simple C and C++
|
||||
# application.
|
||||
|
||||
# Path to the LUFA library core
|
||||
LUFA_PATH := ../../LUFA/
|
||||
|
||||
# Build test cannot be run with multiple parallel jobs
|
||||
.NOTPARALLEL:
|
||||
|
||||
# List of device families per architecture, one device per architecture sub-family
|
||||
AVR8_FAMILIES := at90usb1287 at90usb1286 atmega16u4 atmega16u2 at90usb162
|
||||
XMEGA_FAMILIES := atxmega128a1u atxmega128a3u atxmega256a3bu atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega32c4
|
||||
UC3_FAMILIES := uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256
|
||||
|
||||
# List of all device families, with a family postfix
|
||||
DEVICE_FAMILIES := $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)
|
||||
|
||||
|
||||
all: begin $(DEVICE_FAMILIES) clean end
|
||||
|
||||
arch_avr8: begin $(AVR8_FAMILIES:%=%.avr8) end
|
||||
arch_xmega: begin $(XMEGA_FAMILIES:%=%.xmega) end
|
||||
arch_uc3: begin $(UC3_FAMILIES:%=%.uc3) end
|
||||
|
||||
begin:
|
||||
@echo Executing build test "ModuleTest".
|
||||
@echo
|
||||
|
||||
end:
|
||||
@echo Build test "ModuleTest" complete.
|
||||
@echo
|
||||
|
||||
%.avr8:
|
||||
@echo Building ModuleTest for ARCH=AVR8 MCU=$(@:%.avr8=%)...
|
||||
$(MAKE) -f makefile.test clean elf ARCH=AVR8 MCU=$(@:%.avr8=%)
|
||||
|
||||
%.xmega:
|
||||
@echo Building ModuleTest for ARCH=XMEGA MCU=$(@:%.xmega=%)...
|
||||
$(MAKE) -f makefile.test clean elf ARCH=XMEGA MCU=$(@:%.xmega=%)
|
||||
|
||||
%.uc3:
|
||||
@echo Building ModuleTest for ARCH=UC3 MCU=$(@:%.uc3=%)...
|
||||
$(MAKE) -f makefile.test clean elf ARCH=UC3 MCU=$(@:%.uc3=%)
|
||||
|
||||
clean:
|
||||
$(MAKE) -f makefile.test clean ARCH=AVR8 MCU=$(firstword $(AVR8_FAMILIES))
|
||||
$(MAKE) -f makefile.test clean ARCH=XMEGA MCU=$(firstword $(XMEGA_FAMILIES))
|
||||
$(MAKE) -f makefile.test clean ARCH=UC3 MCU=$(firstword $(UC3_FAMILIES))
|
||||
|
||||
%:
|
||||
|
||||
.PHONY: all arch_avr8 arch_xmega arch_uc3 begin end
|
||||
|
||||
# Include common DMBS build system modules
|
||||
DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS
|
||||
include $(DMBS_PATH)/core.mk
|
94
BuildTests/ModuleTest/makefile.test
Normal file
94
BuildTests/ModuleTest/makefile.test
Normal file
|
@ -0,0 +1,94 @@
|
|||
#
|
||||
# LUFA Library
|
||||
# Copyright (C) Dean Camera, 2017.
|
||||
#
|
||||
# dean [at] fourwalledcubicle [dot] com
|
||||
# www.lufa-lib.org
|
||||
#
|
||||
# --------------------------------------
|
||||
# LUFA Project Makefile.
|
||||
# --------------------------------------
|
||||
|
||||
# Run "make help" for target help.
|
||||
|
||||
MCU =
|
||||
ARCH =
|
||||
BOARD = NONE
|
||||
F_CPU = $(F_USB)
|
||||
OPTIMIZATION = 1
|
||||
TARGET = Test
|
||||
SRC = $(TARGET)_C.c $(TARGET)_CPP.cpp Dummy.S $(LUFA_SRC_USB)
|
||||
LUFA_PATH = ../../LUFA
|
||||
DEBUG_LEVEL = 0
|
||||
|
||||
ifeq ($(ARCH), AVR8)
|
||||
F_USB = 8000000
|
||||
else ifeq ($(ARCH), XMEGA)
|
||||
F_USB = 48000000
|
||||
else ifeq ($(ARCH), UC3)
|
||||
F_USB = 48000000
|
||||
endif
|
||||
|
||||
# Generic C/C++ compiler flags
|
||||
CC_FLAGS = -Wextra
|
||||
CC_FLAGS += -Werror
|
||||
CC_FLAGS += -Wformat=2
|
||||
CC_FLAGS += -Winit-self
|
||||
CC_FLAGS += -Wswitch-enum
|
||||
CC_FLAGS += -Wunused
|
||||
CC_FLAGS += -Wundef
|
||||
CC_FLAGS += -Wpointer-arith
|
||||
CC_FLAGS += -Wcast-align
|
||||
CC_FLAGS += -Wwrite-strings
|
||||
CC_FLAGS += -Wlogical-op
|
||||
CC_FLAGS += -Wmissing-declarations
|
||||
CC_FLAGS += -Wmissing-field-initializers
|
||||
CC_FLAGS += -Wmissing-format-attribute
|
||||
CC_FLAGS += -Woverlength-strings
|
||||
CC_FLAGS += -Wswitch-default
|
||||
CC_FLAGS += -Wfloat-equal
|
||||
CC_FLAGS += -Waggregate-return
|
||||
CC_FLAGS += -Wmissing-include-dirs
|
||||
|
||||
# Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
|
||||
ifneq ($(ARCH), UC3)
|
||||
CC_FLAGS += -Wdouble-promotion
|
||||
endif
|
||||
|
||||
# Only enable redundant declaration warnings for AVR8 target (FIXME)
|
||||
ifeq ($(ARCH), AVR8)
|
||||
CC_FLAGS += -Wredundant-decls
|
||||
endif
|
||||
|
||||
# C compiler only flags
|
||||
C_FLAGS += -Wmissing-parameter-type
|
||||
C_FLAGS += -Wmissing-prototypes
|
||||
C_FLAGS += -Wnested-externs
|
||||
C_FLAGS += -Wbad-function-cast
|
||||
C_FLAGS += -Wstrict-prototypes
|
||||
C_FLAGS += -Wold-style-definition
|
||||
|
||||
# Disable warnings not supported by the version of GCC used for UC3 targets (FIXME)
|
||||
ifneq ($(ARCH), UC3)
|
||||
C_FLAGS += -Wunsuffixed-float-constants
|
||||
C_FLAGS += -Wjump-misses-init
|
||||
endif
|
||||
|
||||
# Only check C++ compatibility on the build files, to ensure headers are C++ compatible
|
||||
Test_C.c Test_CPP.cpp: CC_FLAGS += -Wc++-compat
|
||||
|
||||
# Potential additional warnings to enable in the future (FIXME)
|
||||
#CC_FLAGS += -Wcast-qual
|
||||
#CC_FLAGS += -Wconversion
|
||||
#CC_FLAGS += -Wsign-conversion
|
||||
#CC_FLAGS += -pedantic
|
||||
|
||||
# Include LUFA-specific DMBS extension modules
|
||||
DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA
|
||||
include $(DMBS_LUFA_PATH)/lufa-sources.mk
|
||||
include $(DMBS_LUFA_PATH)/lufa-gcc.mk
|
||||
|
||||
# Include common DMBS build system modules
|
||||
DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS
|
||||
include $(DMBS_PATH)/core.mk
|
||||
include $(DMBS_PATH)/gcc.mk
|
Loading…
Add table
Add a link
Reference in a new issue