diff options
author | Zach Eveland <zeveland@blacklabel-development.com> | 2011-09-08 19:31:18 -0400 |
---|---|---|
committer | Zach Eveland <zeveland@blacklabel-development.com> | 2011-09-08 19:31:18 -0400 |
commit | e52cf0e4203bd6dda76c2544b0479548f465a0c7 (patch) | |
tree | c8914cca1f52b18971f7cf0b85f5b83b531e48df | |
parent | 3b72c2343ab160290ccf1385829b168925052b8b (diff) |
fixed bug where sketches over 28k caused subsequent auto-reset-and-upload attempts to fail. fixed bug in reboot routine, changed fuses to select 1024-word bootloader size, disabled hardware boot enable.
-rw-r--r-- | boards.txt | 6 | ||||
-rw-r--r-- | cores/arduino/CDC.cpp | 10 |
2 files changed, 4 insertions, 12 deletions
@@ -5,12 +5,12 @@ leonardo.upload.protocol=arduino leonardo.upload.maximum_size=30720 leonardo.upload.speed=1200 leonardo.bootloader.low_fuses=0xde -leonardo.bootloader.high_fuses=0xd8 -leonardo.bootloader.extended_fuses=0xf3 +leonardo.bootloader.high_fuses=0xda +leonardo.bootloader.extended_fuses=0xcb leonardo.bootloader.path=diskloader leonardo.bootloader.file=DiskLoader.hex leonardo.bootloader.unlock_bits=0x3F -leonardo.bootloader.lock_bits=0x0F +leonardo.bootloader.lock_bits=0x2F leonardo.build.mcu=atmega32u4 leonardo.build.f_cpu=16000000L leonardo.build.core=arduino diff --git a/cores/arduino/CDC.cpp b/cores/arduino/CDC.cpp index 5059cec..14a0eae 100644 --- a/cores/arduino/CDC.cpp +++ b/cores/arduino/CDC.cpp @@ -23,19 +23,11 @@ #if defined(USBCON) #ifdef CDC_ENABLED -// TODO: Should really use the wdt here -// Not currently working for a non-obvious reason - -typedef void (*AppPtr_t)(void) __attribute__ ((noreturn)); -AppPtr_t Bootloader = (AppPtr_t)(30*1024); - void Reboot() { USB.detach(); cli(); - Bootloader(); - //wdt_enable(WDTO_15MS); - //while(1); // reboot + asm volatile("jmp 0x7800"); // jump to bootloader - DiskLoader takes up last 2 kB } typedef struct |