diff options
Diffstat (limited to 'Projects/AVRISP-MKII')
-rw-r--r-- | Projects/AVRISP-MKII/AVRISP-MKII.h | 1 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/AVRISP-MKII.txt | 30 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Config/AppConfig.h | 64 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Config/LUFAConfig.h | 93 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/V2Protocol.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/V2ProtocolParams.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h | 3 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/makefile | 29 |
13 files changed, 191 insertions, 50 deletions
diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.h b/Projects/AVRISP-MKII/AVRISP-MKII.h index 217030524..e7b418418 100644 --- a/Projects/AVRISP-MKII/AVRISP-MKII.h +++ b/Projects/AVRISP-MKII/AVRISP-MKII.h @@ -52,6 +52,7 @@ #include "Descriptors.h" #include "Lib/V2Protocol.h" + #include "Config/AppConfig.h" /* Macros: */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.txt b/Projects/AVRISP-MKII/AVRISP-MKII.txt index ad58dab1f..a933f386a 100644 --- a/Projects/AVRISP-MKII/AVRISP-MKII.txt +++ b/Projects/AVRISP-MKII/AVRISP-MKII.txt @@ -214,60 +214,60 @@ * </tr> * <tr> * <td>AUX_LINE_PORT</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>PORT register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td> * </tr> * <tr> * <td>AUX_LINE_PIN</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>PIN register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td> * </tr> * <tr> * <td>AUX_LINE_DDR</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>DDR register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td> * </tr> * <tr> * <td>AUX_LINE_MASK</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Mask for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. <b>Must not be the AVR's /SS pin</b>. * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td> * </tr> * <tr> * <td>VTARGET_ADC_CHANNEL</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>ADC channel number (on supported AVRs) to use for VTARGET level detection, if NO_VTARGET_DETECT is not defined. * \n \n <i>Ignored when compiled for targets lacking an ADC.</i></td> * </tr> * <tr> * <td>ENABLE_ISP_PROTOCOL</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Define to enable SPI programming protocol support. * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td> * </tr> * <tr> * <td>ENABLE_XPROG_PROTOCOL</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Define to enable PDI and TPI programming protocol support. * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td> * </tr> * <tr> * <td>NO_VTARGET_DETECT</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Define to disable VTARGET sampling and reporting on AVR models with an ADC converter. This will cause the programmer * to report a fixed 3.3V target voltage to the host regardless of the real target voltage. * \n \n <i>Ignored when compiled for targets lacking an ADC.</i></td> * </tr> * <tr> * <td>VTARGET_REF_VOLTS</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Indicates the programmer AVR's AVCC reference voltage when measuring the target's supply voltage. Note that the supply * voltage should never exceed the reference voltage on the programmer AVR without some form of protection to prevent damage * to the ADC. @@ -275,14 +275,14 @@ * </tr> * <tr> * <td>VTARGET_USE_INTERNAL_REF</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Selects the internal 2.56V ADC reference voltage, instead of using the AVR's VREF pin. When enabled, this option will * override the VTARGET_REF_VOLTS configuration option. * \n \n <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td> * </tr> * <tr> * <td>VTARGET_SCALE_FACTOR</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Indicates the target's supply voltage scale factor when applied to the ADC. A simple resistive divider can be used on the * ADC pin for measuring the target's supply voltage, so that voltages above the programmer AVR's AVCC reference voltage can be * measured. This should be the reciprocal of the division performed - e.g. if the VTARGET voltage is halved, this should be set @@ -291,25 +291,25 @@ * </tr> * <tr> * <td>LIBUSB_DRIVER_COMPAT</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making * the code compatible with software such as avrdude (all platforms) that use the libUSB driver.</td> * </tr> * <tr> * <td>XCK_RESCUE_CLOCK_ENABLE</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Define to move the ISP rescue clock to the AVR's XCK pin instead of the OCR1A output pin. This is useful for existing programming * hardware that does not expose the OCR1A pin of the AVR, but <i>may</i> cause some issues with PDI programming mode.</td> * </tr> * <tr> * <td>INVERTED_ISP_MISO</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Define to invert the received data on the ISP MISO line. This is sometimes needed depending on the level translation hardware used, * if the translator hardware inverts the received logic level.</td> * </tr> * <tr> * <td>FIRMWARE_VERSION_MINOR</td> - * <td>Makefile LUFA_OPTS</td> + * <td>AppConfig.h</td> * <td>Define to set the minor firmware revision nunber reported to the host on request. By default this will use a firmware version compatible * with the latest Atmel IDE version, however if desired the reported minor value can be adjusted here.</td> * </tr> diff --git a/Projects/AVRISP-MKII/Config/AppConfig.h b/Projects/AVRISP-MKII/Config/AppConfig.h new file mode 100644 index 000000000..88ed41f9a --- /dev/null +++ b/Projects/AVRISP-MKII/Config/AppConfig.h @@ -0,0 +1,64 @@ +/* + 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 Application Configuration Header File + * + * This is a header file which is be used to configure LUFA's + * compile time options, as an alternative to the compile time + * constants supplied through a makefile. + * + * For information on what each token does, refer to the + * \ref Sec_Options section of the application documentation. + */ + +#ifndef _APP_CONFIG_H_ +#define _APP_CONFIG_H_ + + #define AUX_LINE_PORT PORTB + #define AUX_LINE_PIN PINB + #define AUX_LINE_DDR DDRB + #define AUX_LINE_MASK (1 << 4) + + #define ENABLE_ISP_PROTOCOL + #define ENABLE_XPROG_PROTOCOL + + #define VTARGET_ADC_CHANNEL 2 + #define VTARGET_REF_VOLTS 5 + #define VTARGET_SCALE_FACTOR 1 +// #define VTARGET_USE_INTERNAL_REF +// #define NO_VTARGET_DETECT +// #define XCK_RESCUE_CLOCK_ENABLE +// #define INVERTED_ISP_MISO + +// #define LIBUSB_DRIVER_COMPAT +// #define FIRMWARE_VERSION_MINOR 0x11 + +#endif
\ No newline at end of file diff --git a/Projects/AVRISP-MKII/Config/LUFAConfig.h b/Projects/AVRISP-MKII/Config/LUFAConfig.h new file mode 100644 index 000000000..0a7ca2a3c --- /dev/null +++ b/Projects/AVRISP-MKII/Config/LUFAConfig.h @@ -0,0 +1,93 @@ +/* + 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 LUFA Library Configuration Header File + * + * This header file is used to configure LUFA's compile time options, + * as an alternative to the compile time constants supplied through + * a makefile. + * + * For information on what each token does, refer to the LUFA + * manual section "Summary of Compile Tokens". + */ + +#ifndef _LUFA_CONFIG_H_ +#define _LUFA_CONFIG_H_ + + #if (ARCH == ARCH_AVR8) + + /* Non-USB Related Configuration Tokens: */ +// #define DISABLE_TERMINAL_CODES + + /* USB Class Driver Related Tokens: */ +// #define HID_HOST_BOOT_PROTOCOL_ONLY +// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here} +// #define HID_USAGE_STACK_DEPTH {Insert Value Here} +// #define HID_MAX_COLLECTIONS {Insert Value Here} +// #define HID_MAX_REPORTITEMS {Insert Value Here} +// #define HID_MAX_REPORT_IDS {Insert Value Here} +// #define NO_CLASS_DRIVER_AUTOFLUSH + + /* General USB Driver Related Tokens: */ + #define ORDERED_EP_CONFIG + #define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL) + #define USB_DEVICE_ONLY +// #define USB_HOST_ONLY +// #define USB_STREAM_TIMEOUT_MS {Insert Value Here} +// #define NO_LIMITED_CONTROLLER_CONNECT + #define NO_SOF_EVENTS + + /* USB Device Mode Driver Related Tokens: */ +// #define USE_RAM_DESCRIPTORS + #define USE_FLASH_DESCRIPTORS +// #define USE_EEPROM_DESCRIPTORS + #define NO_INTERNAL_SERIAL + #define FIXED_CONTROL_ENDPOINT_SIZE 16 + #define DEVICE_STATE_AS_GPIOR 0 + #define FIXED_NUM_CONFIGURATIONS 1 +// #define CONTROL_ONLY_DEVICE +// #define INTERRUPT_CONTROL_ENDPOINT + #define NO_DEVICE_REMOTE_WAKEUP + #define NO_DEVICE_SELF_POWER + + /* USB Host Mode Driver Related Tokens: */ +// #define HOST_STATE_AS_GPIOR {Insert Value Here} +// #define USB_HOST_TIMEOUT_MS {Insert Value Here} +// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here} +// #define NO_AUTO_VBUS_MANAGEMENT +// #define INVERTED_VBUS_ENABLE_LINE + + #else + + #error Unsupported architecture for this LUFA configuration file. + + #endif +#endif diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.h b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.h index 4ad526390..7f65e46b4 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.h +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.h @@ -43,7 +43,8 @@ #include <LUFA/Drivers/USB/USB.h> #include "../V2Protocol.h" - + #include "Config/AppConfig.h" + /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) #undef ENABLE_ISP_PROTOCOL diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h index 9124b1a6b..25d9720cf 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.h @@ -45,7 +45,8 @@ #include <LUFA/Drivers/Peripheral/SPI.h> #include "../V2ProtocolParams.h" - + #include "Config/AppConfig.h" + /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) #undef ENABLE_ISP_PROTOCOL diff --git a/Projects/AVRISP-MKII/Lib/V2Protocol.h b/Projects/AVRISP-MKII/Lib/V2Protocol.h index dca97cb2a..0032dec6d 100644 --- a/Projects/AVRISP-MKII/Lib/V2Protocol.h +++ b/Projects/AVRISP-MKII/Lib/V2Protocol.h @@ -48,7 +48,8 @@ #include "V2ProtocolParams.h" #include "ISP/ISPProtocol.h" #include "XPROG/XPROGProtocol.h" - + #include "Config/AppConfig.h" + /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) #undef ENABLE_ISP_PROTOCOL diff --git a/Projects/AVRISP-MKII/Lib/V2ProtocolParams.h b/Projects/AVRISP-MKII/Lib/V2ProtocolParams.h index ab47664d3..55cb64dd9 100644 --- a/Projects/AVRISP-MKII/Lib/V2ProtocolParams.h +++ b/Projects/AVRISP-MKII/Lib/V2ProtocolParams.h @@ -49,7 +49,8 @@ #include "V2Protocol.h" #include "V2ProtocolConstants.h" #include "ISP/ISPTarget.h" - + #include "Config/AppConfig.h" + /* Macros: */ /** Parameter privilege mask to allow the host PC to read the parameter's value. */ #define PARAM_PRIV_READ (1 << 0) diff --git a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h index c028321b0..696e5f5b8 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h +++ b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h @@ -45,7 +45,8 @@ #include "XPROGProtocol.h" #include "XPROGTarget.h" - + #include "Config/AppConfig.h" + /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) #undef ENABLE_ISP_PROTOCOL diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h index a8704df3c..2789d0217 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h +++ b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h @@ -45,7 +45,8 @@ #include "XPROGProtocol.h" #include "XPROGTarget.h" - + #include "Config/AppConfig.h" + /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) #undef ENABLE_ISP_PROTOCOL diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h index 605653588..2d99d5656 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h @@ -46,7 +46,8 @@ #include "../V2Protocol.h" #include "XMEGANVM.h" #include "TINYNVM.h" - + #include "Config/AppConfig.h" + /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) /* On the XPLAIN board, we only need PDI programming diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h index 09c6ee587..2df1e38a1 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.h @@ -45,7 +45,8 @@ #include "../V2Protocol.h" #include "XPROGProtocol.h" - + #include "Config/AppConfig.h" + /* Preprocessor Checks: */ #if ((BOARD == BOARD_XPLAIN) || (BOARD == BOARD_XPLAIN_REV1)) #undef ENABLE_ISP_PROTOCOL diff --git a/Projects/AVRISP-MKII/makefile b/Projects/AVRISP-MKII/makefile index dbc38cae9..d0c2567fe 100644 --- a/Projects/AVRISP-MKII/makefile +++ b/Projects/AVRISP-MKII/makefile @@ -120,32 +120,7 @@ LUFA_PATH = ../.. # LUFA library compile-time options and predefined tokens -LUFA_OPTS = -D USB_DEVICE_ONLY -LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 -LUFA_OPTS += -D ORDERED_EP_CONFIG -LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=16 -LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 -LUFA_OPTS += -D USE_FLASH_DESCRIPTORS -LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -LUFA_OPTS += -D NO_INTERNAL_SERIAL -LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP -LUFA_OPTS += -D NO_DEVICE_SELF_POWER - -LUFA_OPTS += -D AUX_LINE_PORT=PORTB -LUFA_OPTS += -D AUX_LINE_PIN=PINB -LUFA_OPTS += -D AUX_LINE_DDR=DDRB -LUFA_OPTS += -D AUX_LINE_MASK="(1 << 4)" -LUFA_OPTS += -D ENABLE_ISP_PROTOCOL -LUFA_OPTS += -D ENABLE_XPROG_PROTOCOL -LUFA_OPTS += -D VTARGET_ADC_CHANNEL=2 -LUFA_OPTS += -D VTARGET_REF_VOLTS=5 -LUFA_OPTS += -D VTARGET_SCALE_FACTOR=1 -#LUFA_OPTS += -D VTARGET_USE_INTERNAL_REF -#LUFA_OPTS += -D NO_VTARGET_DETECT -#LUFA_OPTS += -D LIBUSB_DRIVER_COMPAT -#LUFA_OPTS += -D XCK_RESCUE_CLOCK_ENABLE -#LUFA_OPTS += -D INVERTED_ISP_MISO -#LUFA_OPTS += -D FIRMWARE_VERSION_MINOR=0x11 +LUFA_OPTS = -D USE_LUFA_CONFIG_HEADER # Create the LUFA source path variables by including the LUFA root makefile @@ -197,7 +172,7 @@ DEBUG = dwarf-2 # Each directory must be seperated by a space. # Use forward slashes for directory separators. # For a directory that has spaces, enclose it in quotes. -EXTRAINCDIRS = $(LUFA_PATH)/ +EXTRAINCDIRS = $(LUFA_PATH)/ Config/ # Compiler flag to set the C Standard level. |