projects
/
pub
/
lufa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't run user application in the bootloader unless a valid app is present (thanks...
[pub/lufa.git]
/
Bootloaders
/
DFU
/
BootloaderDFU.c
diff --git
a/Bootloaders/DFU/BootloaderDFU.c
b/Bootloaders/DFU/BootloaderDFU.c
index
0385bfc
..
160b9f6
100644
(file)
--- a/
Bootloaders/DFU/BootloaderDFU.c
+++ b/
Bootloaders/DFU/BootloaderDFU.c
@@
-127,6
+127,10
@@
void Application_Jump_Check(void)
if ((MCUSR & (1 << WDRF)) && (MagicBootKey == MAGIC_BOOT_KEY))
JumpToApplication |= true;
if ((MCUSR & (1 << WDRF)) && (MagicBootKey == MAGIC_BOOT_KEY))
JumpToApplication |= true;
+ /* Don't run the user application if the reset vector is blank (no app loaded) */
+
+ JumpToApplication = false;
+
/* If a request has been made to jump to the user application, honor it */
if (JumpToApplication)
{
/* If a request has been made to jump to the user application, honor it */
if (JumpToApplication)
{
@@
-751,8
+755,9
@@
static void ProcessWriteCommand(void)
}
else // Start via jump
{
}
else // Start via jump
{
- /* Set the flag to terminate the bootloader at next opportunity */
- RunBootloader = false;
+ /* Set the flag to terminate the bootloader at next opportunity if a valid application has been loaded */
+ if (pgm_read_word_near(0) == 0xFFFF)
+ RunBootloader = false;
}
}
}
}
}
}