diff --git a/LUFA.pnproj b/LUFA.pnproj index d5cf936e21..ceac37430e 100644 --- a/LUFA.pnproj +++ b/LUFA.pnproj @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/LUFA/Build/lufa.sources.in b/LUFA/Build/lufa.sources.in index 9b7f6676aa..c189e792f4 100644 --- a/LUFA/Build/lufa.sources.in +++ b/LUFA/Build/lufa.sources.in @@ -76,9 +76,16 @@ LUFA_SRC_TEMPERATURE = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c LUFA_SRC_SERIAL = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/Serial_$(ARCH).c LUFA_SRC_TWI = $(LUFA_ROOT_PATH)/Drivers/Peripheral/$(ARCH)/TWI_$(ARCH).c +ifeq ($(ARCH), UC3) + LUFA_SRC_PLATFORM = $(LUFA_PATH)/Platform/UC3/Exception.S $(LUFA_PATH)/Platform/UC3/InterruptManagement.c +else + LUFA_SRC_PLATFORM = +endif + # Build a list of all available module sources LUFA_SRC_ALL_FILES = $(LUFA_SRC_USB) \ $(LUFA_SRC_USBCLASS) \ $(LUFA_SRC_TEMPERATURE) \ $(LUFA_SRC_SERIAL) \ - $(LUFA_SRC_TWI) \ No newline at end of file + $(LUFA_SRC_TWI) \ + $(LUFA_SRC_PLATFORM) \ No newline at end of file diff --git a/LUFA/DoxygenPages/Groups.txt b/LUFA/DoxygenPages/Groups.txt index 321779d74c..e6ad884b6f 100644 --- a/LUFA/DoxygenPages/Groups.txt +++ b/LUFA/DoxygenPages/Groups.txt @@ -19,11 +19,6 @@ * Miscellaneous driver Functions, macros, variables, enums and types. */ -/** \defgroup Group_PlatformDrivers System Platform Drivers - * - * Drivers relating to the general architecture platform, such as clock setup and interrupt management. - */ - /** \defgroup Group_PlatformDrivers_AVR8 AVR8 * \ingroup Group_PlatformDrivers * diff --git a/LUFA/Platform/Platform.h b/LUFA/Platform/Platform.h new file mode 100644 index 0000000000..3bbd697ff5 --- /dev/null +++ b/LUFA/Platform/Platform.h @@ -0,0 +1,80 @@ +/* + LUFA Library + Copyright (C) Dean Camera, 2012. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +*/ + +/* + Copyright 2012 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 disclaim 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. +*/ + +/** \file + * \brief Architecture Specific Hardware Platform Drivers. + * + * This file is the master dispatch header file for the device-specific hardware platform drivers, for low level + * hardware configuration and management. The platform drivers are a set of drivers which are designed to provide + * a high level management layer for the various low level system functions such as clock control and interrupt + * management. + * + * User code may choose to either include this master dispatch header file to include all available platform + * driver header files for the current achitecture, or may choose to only include the specific platform driver + * modules required for a particular application. + */ + +/** \defgroup Group_PlatformDrivers System Platform Drivers - LUFA/Platform/Platform.h + * \brief Hardware platform drivers. + * + * \section Sec_Dependencies Module Source Dependencies + * The following files must be built with any user project that uses this module: + * - UC3 Architecture Only: LUFA/Platform/UC3/InterruptManagement.c (Makefile source module name: LUFA_SRC_PLATFORM) + * - UC3 Architecture Only: LUFA/Platform/UC3/Exception.S (Makefile source module name: LUFA_SRC_PLATFORM) + * + * \section Sec_ModDescription Module Description + * Device-specific hardware platform drivers, for low level hardware configuration and management. The platform + * drivers are a set of drivers which are designed to provide a high level management layer for the various low level + * system functions such as clock control and interrupt management. + * + * User code may choose to either include this master dispatch header file to include all available platform + * driver header files for the current achitecture, or may choose to only include the specific platform driver + * modules required for a particular application. + * + * \note The exact APIs and availability of sub-modules within the platform driver group may vary depending on the + * target used - see individual target module documentation for the API specific to your target processor. + */ + +#ifndef __LUFA_PLATFORM_H__ +#define __LUFA_PLATFORM_H__ + + /* Includes: */ + #include "../Common/Common.h" + + /* Includes: */ + #if (ARCH == ARCH_UC3) + #include + #include + #elif (ARCH == ARCH_XMEGA) + #include + #endif + +#endif + diff --git a/LUFA/Platform/UC3/InterruptManagement.h b/LUFA/Platform/UC3/InterruptManagement.h index af99f08752..49bdaf8d5e 100644 --- a/LUFA/Platform/UC3/InterruptManagement.h +++ b/LUFA/Platform/UC3/InterruptManagement.h @@ -41,8 +41,8 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Platform/UC3/InterruptManagement.c - * - LUFA/Platform/UC3/Exception.S + * - LUFA/Platform/UC3/InterruptManagement.c (Makefile source module name: LUFA_SRC_PLATFORM) + * - LUFA/Platform/UC3/Exception.S (Makefile source module name: LUFA_SRC_PLATFORM) * * \section Sec_ModDescription Module Description * Interrupt controller driver for the AVR32 UC3 microcontrollers, for the configuration of interrupt diff --git a/LUFA/makefile b/LUFA/makefile index fe1cc4f728..5b186937cb 100644 --- a/LUFA/makefile +++ b/LUFA/makefile @@ -37,6 +37,7 @@ else clean: rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o) + rm -f $(LUFA_SRC_ALL_FILES:%.c=%.o.d) rm -f $(LUFA_SRC_ALL_FILES:%.c=%.lst) # Include LUFA build script makefiles