diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-06-21 05:04:18 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-06-21 05:04:18 +0000 |
commit | e0420015df848f18d5eb1672da4ccac578d454cf (patch) | |
tree | f76396ec33406dee89f8be571a63d0b0405d7511 /Bootloaders | |
parent | b2de4519590d06267445e1b711678511cc706e7c (diff) | |
download | lufa-e0420015df848f18d5eb1672da4ccac578d454cf.tar.gz lufa-e0420015df848f18d5eb1672da4ccac578d454cf.tar.bz2 lufa-e0420015df848f18d5eb1672da4ccac578d454cf.zip |
Re-add signature byte defines to the DFU and CDC class bootloaders -- the SIGNATURE_x defines in the AVR device header files only exist in a newer version of avr-libc than is in the Debian repositories, causing build issues on Linux.
Diffstat (limited to 'Bootloaders')
-rw-r--r-- | Bootloaders/CDC/BootloaderCDC.c | 6 | ||||
-rw-r--r-- | Bootloaders/CDC/BootloaderCDC.h | 7 | ||||
-rw-r--r-- | Bootloaders/CDC/BootloaderCDC.txt | 7 | ||||
-rw-r--r-- | Bootloaders/CDC/Descriptors.h | 40 | ||||
-rw-r--r-- | Bootloaders/DFU/BootloaderDFU.c | 2 | ||||
-rw-r--r-- | Bootloaders/DFU/BootloaderDFU.h | 7 | ||||
-rw-r--r-- | Bootloaders/DFU/BootloaderDFU.txt | 7 | ||||
-rw-r--r-- | Bootloaders/DFU/Descriptors.h | 27 | ||||
-rw-r--r-- | Bootloaders/TeensyHID/TeensyHID.h | 3 |
9 files changed, 74 insertions, 32 deletions
diff --git a/Bootloaders/CDC/BootloaderCDC.c b/Bootloaders/CDC/BootloaderCDC.c index d72d128a1..92c2291c9 100644 --- a/Bootloaders/CDC/BootloaderCDC.c +++ b/Bootloaders/CDC/BootloaderCDC.c @@ -424,9 +424,9 @@ void CDC_Task(void) }
else if (Command == 's')
{
- WriteNextResponseByte(SIGNATURE_2);
- WriteNextResponseByte(SIGNATURE_1);
- WriteNextResponseByte(SIGNATURE_0);
+ WriteNextResponseByte(AVR_SIGNATURE_3);
+ WriteNextResponseByte(AVR_SIGNATURE_2);
+ WriteNextResponseByte(AVR_SIGNATURE_1);
}
else if (Command == 'b')
{
diff --git a/Bootloaders/CDC/BootloaderCDC.h b/Bootloaders/CDC/BootloaderCDC.h index 97e32e9fb..fa98a15b3 100644 --- a/Bootloaders/CDC/BootloaderCDC.h +++ b/Bootloaders/CDC/BootloaderCDC.h @@ -46,12 +46,7 @@ #include "Descriptors.h"
- #include <LUFA/Drivers/USB/USB.h> // USB Functionality
-
- /* Preprocessor Checks: */
- #if !defined(SIGNATURE_0) || !defined(SIGNATURE_1) || !defined(SIGNATURE_2)
- #error Device signature byte constants are not defined due to outdated avr-libc version. See demo documentation.
- #endif
+ #include <LUFA/Drivers/USB/USB.h>
/* Macros: */
/** CDC Class Specific request to get the line encoding on a CDC-ACM virtual serial port, including the
diff --git a/Bootloaders/CDC/BootloaderCDC.txt b/Bootloaders/CDC/BootloaderCDC.txt index 1122e73ae..c518195eb 100644 --- a/Bootloaders/CDC/BootloaderCDC.txt +++ b/Bootloaders/CDC/BootloaderCDC.txt @@ -54,12 +54,5 @@ * <td><b>Location:</b></td>
* <td><b>Description:</b></td>
* </tr>
- * <tr>
- * <td>SIGNATURE_0, SIGNATURE_1, SIGNATURE_2</td>
- * <td>Makefile CDEFS</td>
- * <td>AVR part signature bytes. These are normally defined as part of the AVR device header files in recent avr-libc
- * distributions. If your avr-libc library is out of date and does not define these values, you can define them
- * manually in the makefile CDEFS.</td>
- * </tr>
* </table>
*/
\ No newline at end of file diff --git a/Bootloaders/CDC/Descriptors.h b/Bootloaders/CDC/Descriptors.h index d913f45c0..62d75986e 100644 --- a/Bootloaders/CDC/Descriptors.h +++ b/Bootloaders/CDC/Descriptors.h @@ -40,6 +40,46 @@ #include <LUFA/Drivers/USB/USB.h>
/* Macros: */
+ #if defined(__AVR_AT90USB1286__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x97
+ #define AVR_SIGNATURE_3 0x82
+ #elif defined(__AVR_AT90USB1287__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x97
+ #define AVR_SIGNATURE_3 0x82
+ #elif defined(__AVR_AT90USB646__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x96
+ #define AVR_SIGNATURE_3 0x82
+ #elif defined(__AVR_AT90USB647__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x96
+ #define AVR_SIGNATURE_3 0x82
+ #elif defined(__AVR_AT90USB162__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x94
+ #define AVR_SIGNATURE_3 0x82
+ #elif defined(__AVR_AT90USB82__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x94
+ #define AVR_SIGNATURE_3 0x82
+ #elif defined(__AVR_ATmega32U6__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x95
+ #define AVR_SIGNATURE_3 0x88
+ #elif defined(__AVR_ATmega32U4__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x95
+ #define AVR_SIGNATURE_3 0x87
+ #elif defined(__AVR_ATmega16U4__)
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x94
+ #define AVR_SIGNATURE_3 0x88
+ #else
+ #error The selected AVR part is not currently supported by this bootloader.
+ #endif
+
/** Structure for a CDC class Functional descriptor, with a given data size. This is used instead of a
* type define so that the same macro can be used for functional descriptors of varying data lengths,
* while allowing the sizeof() operator to return correct results.
diff --git a/Bootloaders/DFU/BootloaderDFU.c b/Bootloaders/DFU/BootloaderDFU.c index 58a751188..ca0387ba7 100644 --- a/Bootloaders/DFU/BootloaderDFU.c +++ b/Bootloaders/DFU/BootloaderDFU.c @@ -678,7 +678,7 @@ static void ProcessWriteCommand(void) static void ProcessReadCommand(void)
{
const uint8_t BootloaderInfo[3] = {BOOTLOADER_VERSION, BOOTLOADER_ID_BYTE1, BOOTLOADER_ID_BYTE2};
- const uint8_t SignatureInfo[3] = {SIGNATURE_0, SIGNATURE_1, SIGNATURE_2};
+ const uint8_t SignatureInfo[3] = {AVR_SIGNATURE_1, AVR_SIGNATURE_2, AVR_SIGNATURE_3};
uint8_t DataIndexToRead = SentCommand.Data[1];
diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h index 776281eb8..a47da3d5c 100644 --- a/Bootloaders/DFU/BootloaderDFU.h +++ b/Bootloaders/DFU/BootloaderDFU.h @@ -47,12 +47,7 @@ #include "Descriptors.h"
- #include <LUFA/Drivers/USB/USB.h> // USB Functionality
-
- /* Preprocessor Checks: */
- #if !defined(SIGNATURE_0) || !defined(SIGNATURE_1) || !defined(SIGNATURE_2)
- #error Device signature byte constants are not defined due to outdated avr-libc version. See demo documentation.
- #endif
+ #include <LUFA/Drivers/USB/USB.h>
/* Macros: */
/** Configuration define. Define this token to true to case the bootloader to reject all memory commands
diff --git a/Bootloaders/DFU/BootloaderDFU.txt b/Bootloaders/DFU/BootloaderDFU.txt index eb6495e6e..05bfa71fa 100644 --- a/Bootloaders/DFU/BootloaderDFU.txt +++ b/Bootloaders/DFU/BootloaderDFU.txt @@ -73,12 +73,5 @@ * erase has been performed. This can be used in conjunction with the AVR's lockbits to prevent the AVRs firmware from
* being dumped by unauthorized persons.</td>
* </tr>
- * <tr>
- * <td>SIGNATURE_0, SIGNATURE_1, SIGNATURE_2</td>
- * <td>Makefile CDEFS</td>
- * <td>AVR part signature bytes. These are normally defined as part of the AVR device header files in recent avr-libc
- * distributions. If your avr-libc library is out of date and does not define these values, you can define them
- * manually in the makefile CDEFS.</td>
- * </tr>
* </table>
*/
diff --git a/Bootloaders/DFU/Descriptors.h b/Bootloaders/DFU/Descriptors.h index 570bb6e08..0943ef32b 100644 --- a/Bootloaders/DFU/Descriptors.h +++ b/Bootloaders/DFU/Descriptors.h @@ -65,22 +65,49 @@ #if defined(__AVR_AT90USB1286__)
#define PRODUCT_ID_CODE 0x2FFB
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x97
+ #define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB1287__)
#define PRODUCT_ID_CODE 0x2FFB
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x97
+ #define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB646__)
#define PRODUCT_ID_CODE 0x2FF9
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x96
+ #define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB647__)
#define PRODUCT_ID_CODE 0x2FF9
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x96
+ #define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB162__)
#define PRODUCT_ID_CODE 0x2FFA
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x94
+ #define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_AT90USB82__)
#define PRODUCT_ID_CODE 0x2FF7
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x94
+ #define AVR_SIGNATURE_3 0x82
#elif defined(__AVR_ATmega32U6__)
#define PRODUCT_ID_CODE 0x2FFB
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x95
+ #define AVR_SIGNATURE_3 0x88
#elif defined(__AVR_ATmega32U4__)
#define PRODUCT_ID_CODE 0x2FF4
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x95
+ #define AVR_SIGNATURE_3 0x87
#elif defined(__AVR_ATmega16U4__)
#define PRODUCT_ID_CODE 0x2FF3
+ #define AVR_SIGNATURE_1 0x1E
+ #define AVR_SIGNATURE_2 0x94
+ #define AVR_SIGNATURE_3 0x88
#else
#error The selected AVR part is not currently supported by this bootloader.
#endif
diff --git a/Bootloaders/TeensyHID/TeensyHID.h b/Bootloaders/TeensyHID/TeensyHID.h index 9414eec77..b7d4d6bac 100644 --- a/Bootloaders/TeensyHID/TeensyHID.h +++ b/Bootloaders/TeensyHID/TeensyHID.h @@ -47,8 +47,7 @@ #include "Descriptors.h"
- #include <LUFA/Version.h> // Library Version Information
- #include <LUFA/Drivers/USB/USB.h> // USB Functionality
+ #include <LUFA/Drivers/USB/USB.h>
/* Preprocessor Checks: */
#if !defined(__AVR_AT90USB162__)
|