projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rename the Doxygen page source directory from ManPages/ to DoxygenPages/ to prevent...
[pub/USBasp.git]
/
Bootloaders
/
DFU
/
BootloaderDFU.c
diff --git
a/Bootloaders/DFU/BootloaderDFU.c
b/Bootloaders/DFU/BootloaderDFU.c
index
9f61660
..
078d59d
100644
(file)
--- a/
Bootloaders/DFU/BootloaderDFU.c
+++ b/
Bootloaders/DFU/BootloaderDFU.c
@@
-87,7
+87,7
@@
static uint8_t Flash64KBPage = 0;
*/
static uint16_t StartAddr = 0x0000;
*/
static uint16_t StartAddr = 0x0000;
-/** Memory end address, indicating the end address to read
to/write from
in the memory being addressed (either FLASH
+/** Memory end address, indicating the end address to read
from/write to
in the memory being addressed (either FLASH
* of EEPROM depending on the issued command from the host).
*/
static uint16_t EndAddr = 0x0000;
* of EEPROM depending on the issued command from the host).
*/
static uint16_t EndAddr = 0x0000;
@@
-99,6
+99,10
@@
static uint16_t EndAddr = 0x0000;
*/
int main(void)
{
*/
int main(void)
{
+ /* Force a reference to the API jump table to prevent the linker from discarding it */
+ uint8_t* volatile Dummy = BootloaderAPI_JumpTable;
+ (void)Dummy;
+
/* Configure hardware required by the bootloader */
SetupHardware();
/* Configure hardware required by the bootloader */
SetupHardware();
@@
-181,10
+185,7
@@
ISR(TIMER1_OVF_vect, ISR_BLOCK)
* internally.
*/
void EVENT_USB_Device_ControlRequest(void)
* internally.
*/
void EVENT_USB_Device_ControlRequest(void)
-{
- /* Get the size of the command and data from the wLength value */
- SentCommand.DataSize = USB_ControlRequest.wLength;
-
+{
/* Ignore any requests that aren't directed to the DFU interface */
if ((USB_ControlRequest.bmRequestType & (CONTROL_REQTYPE_TYPE | CONTROL_REQTYPE_RECIPIENT)) !=
(REQTYPE_CLASS | REQREC_INTERFACE))
/* Ignore any requests that aren't directed to the DFU interface */
if ((USB_ControlRequest.bmRequestType & (CONTROL_REQTYPE_TYPE | CONTROL_REQTYPE_RECIPIENT)) !=
(REQTYPE_CLASS | REQREC_INTERFACE))
@@
-192,6
+193,12
@@
void EVENT_USB_Device_ControlRequest(void)
return;
}
return;
}
+ /* Activity - toggle indicator LEDs */
+ LEDs_ToggleLEDs(LEDS_LED1 | LEDS_LED2);
+
+ /* Get the size of the command and data from the wLength value */
+ SentCommand.DataSize = USB_ControlRequest.wLength;
+
switch (USB_ControlRequest.bRequest)
{
case DFU_REQ_DNLOAD:
switch (USB_ControlRequest.bRequest)
{
case DFU_REQ_DNLOAD:
@@
-739,4
+746,3
@@
static void ProcessReadCommand(void)
else if (IS_ONEBYTE_COMMAND(SentCommand.Data, 0x01)) // Read signature byte
ResponseByte = SignatureInfo[DataIndexToRead - 0x30];
}
else if (IS_ONEBYTE_COMMAND(SentCommand.Data, 0x01)) // Read signature byte
ResponseByte = SignatureInfo[DataIndexToRead - 0x30];
}
-