projects
/
pub
/
USBasp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
0a5848e
)
Fix bootloaders incorrectly checking the BOOTRST fuse on start (thanks to Braden...
author
Dean Camera
<dean@fourwalledcubicle.com>
Mon, 2 Apr 2018 04:51:18 +0000
(14:51 +1000)
committer
Dean Camera
<dean@fourwalledcubicle.com>
Mon, 2 Apr 2018 04:51:22 +0000
(14:51 +1000)
Bootloaders/CDC/BootloaderCDC.c
patch
|
blob
|
blame
|
history
Bootloaders/DFU/BootloaderDFU.c
patch
|
blob
|
blame
|
history
Bootloaders/MassStorage/BootloaderMassStorage.c
patch
|
blob
|
blame
|
history
Bootloaders/Printer/BootloaderPrinter.c
patch
|
blob
|
blame
|
history
LUFA/DoxygenPages/ChangeLog.txt
patch
|
blob
|
blame
|
history
diff --git
a/Bootloaders/CDC/BootloaderCDC.c
b/Bootloaders/CDC/BootloaderCDC.c
index
bcb5c85
..
00755a5
100644
(file)
--- a/
Bootloaders/CDC/BootloaderCDC.c
+++ b/
Bootloaders/CDC/BootloaderCDC.c
@@
-97,7
+97,7
@@
void Application_Jump_Check(void)
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
- if (
BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & FUSE_BOOTRST
)
+ if (
!(BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & ~FUSE_BOOTRST)
)
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
diff --git
a/Bootloaders/DFU/BootloaderDFU.c
b/Bootloaders/DFU/BootloaderDFU.c
index
cafbd57
..
3167c89
100644
(file)
--- a/
Bootloaders/DFU/BootloaderDFU.c
+++ b/
Bootloaders/DFU/BootloaderDFU.c
@@
-133,7
+133,7
@@
void Application_Jump_Check(void)
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
- if (
BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & FUSE_BOOTRST
)
+ if (
!(BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & ~FUSE_BOOTRST)
)
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
diff --git
a/Bootloaders/MassStorage/BootloaderMassStorage.c
b/Bootloaders/MassStorage/BootloaderMassStorage.c
index
81a8dc4
..
ca3fd28
100644
(file)
--- a/
Bootloaders/MassStorage/BootloaderMassStorage.c
+++ b/
Bootloaders/MassStorage/BootloaderMassStorage.c
@@
-114,7
+114,7
@@
void Application_Jump_Check(void)
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
- if (
BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & FUSE_BOOTRST
)
+ if (
!(BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & ~FUSE_BOOTRST)
)
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
diff --git
a/Bootloaders/Printer/BootloaderPrinter.c
b/Bootloaders/Printer/BootloaderPrinter.c
index
da41621
..
629cc07
100644
(file)
--- a/
Bootloaders/Printer/BootloaderPrinter.c
+++ b/
Bootloaders/Printer/BootloaderPrinter.c
@@
-146,7
+146,7
@@
void Application_Jump_Check(void)
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
JTAG_ENABLE();
#else
/* Check if the device's BOOTRST fuse is set */
- if (
BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & FUSE_BOOTRST
)
+ if (
!(BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & ~FUSE_BOOTRST)
)
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
{
/* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
diff --git
a/LUFA/DoxygenPages/ChangeLog.txt
b/LUFA/DoxygenPages/ChangeLog.txt
index
5474406
..
719ae22
100644
(file)
--- a/
LUFA/DoxygenPages/ChangeLog.txt
+++ b/
LUFA/DoxygenPages/ChangeLog.txt
@@
-21,6
+21,7
@@
* - Library Applications:
* - Fixed bootloaders not disabling global interrupts during erase and write operations (thanks to Zoltan)
* - Fixed bootloaders accepting flash writes to the bootloader region (thanks to NicoHood)
* - Library Applications:
* - Fixed bootloaders not disabling global interrupts during erase and write operations (thanks to Zoltan)
* - Fixed bootloaders accepting flash writes to the bootloader region (thanks to NicoHood)
+ * - Fixed bootloaders incorrectly checking the BOOTRST fuse on start (thanks to Braden Kell)
*
* \section Sec_ChangeLog170418 Version 170418
* <b>New:</b>
*
* \section Sec_ChangeLog170418 Version 170418
* <b>New:</b>