aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/USBCore.h
diff options
context:
space:
mode:
authorScott Allen <saydisp-git@yahoo.ca>2017-11-13 17:41:23 +0100
committerMartino Facchin <m.facchin@arduino.cc>2017-11-13 17:41:34 +0100
commit7d4bca50419f2b2e57f92e9bec1cbbbe6d846fc1 (patch)
tree9fe993a839ec06b4faeb3f920ab8031369385319 /cores/arduino/USBCore.h
parent31223160ebfeb6aef21dded0572003eedb2b8fd1 (diff)
Always read key to check for new LUFA bootloader
Instead of checking for the NEW_LUFA_SIGNATURE once in program memory and then setting a flag which is used for further checks, a function is used that always checks program memory directly. If a flag is used, there's a slight chance that its location in RAM could fall on MAGIC_KEY_POS. In this case, an aborted USB auto-reset sequence may fail.
Diffstat (limited to 'cores/arduino/USBCore.h')
-rw-r--r--cores/arduino/USBCore.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/cores/arduino/USBCore.h b/cores/arduino/USBCore.h
index 18560b6..4210ced 100644
--- a/cores/arduino/USBCore.h
+++ b/cores/arduino/USBCore.h
@@ -285,8 +285,7 @@ typedef struct
// Old Caterina bootloader places the MAGIC key into unsafe RAM locations (it can be rewritten
// by the running sketch before to actual reboot).
// Newer bootloaders, recognizable by the LUFA "signature" at the end of the flash, can handle both
-// the usafe and the safe location. Check once (in USBCore.cpp) if the bootloader in new, then set the global
-// _updatedLUFAbootloader variable to true/false and place the magic key consequently
+// the usafe and the safe location.
#ifndef MAGIC_KEY
#define MAGIC_KEY 0x7777
#endif