diff options
| author | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2011-04-23 04:39:21 +0000 |
|---|---|---|
| committer | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2011-04-23 04:39:21 +0000 |
| commit | a830873d382633371cc68d532d9d7adcd5536c3d (patch) | |
| tree | 03b7a2844fa62743305314483dd8bfbba987540d /Bootloaders/HID/BootloaderHID.c | |
| parent | c0833c3f91890fbb5b5cb10d3314aa6fa1ae4c56 (diff) | |
Fix HID class bootloader not working on the larger USB AVRs due to the altered page addressing scheme.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1745 d5102386-fcda-11dd-9fdb-3debd5008f28
Diffstat (limited to 'Bootloaders/HID/BootloaderHID.c')
| -rw-r--r-- | Bootloaders/HID/BootloaderHID.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Bootloaders/HID/BootloaderHID.c b/Bootloaders/HID/BootloaderHID.c index f0480430..484942f9 100644 --- a/Bootloaders/HID/BootloaderHID.c +++ b/Bootloaders/HID/BootloaderHID.c @@ -113,10 +113,18 @@ void EVENT_USB_Device_ControlRequest(void) while (!(Endpoint_IsOUTReceived()));
/* Read in the write destination address */
+ #if (FLASHEND > 0xFFFF)
+ uint32_t PageAddress = ((uint32_t)Endpoint_Read_16_LE() << 8);
+ #else
uint16_t PageAddress = Endpoint_Read_16_LE();
+ #endif
/* Check if the command is a program page command, or a start application command */
- if (PageAddress == COMMAND_STARTAPPLICATION)
+ #if (FLASHEND > 0xFFFF)
+ if ((uint16_t)(PageAddress >> 8) == COMMAND_STARTAPPLICATION)
+ #else
+ if (PageAddress == COMMAND_STARTAPPLICATION)
+ #endif
{
RunBootloader = false;
}
|
