[gnoduino: 117/237] fixed bug where sketches over 28k caused subsequent auto-reset-and-upload attempts to fail. fixed b
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnoduino: 117/237] fixed bug where sketches over 28k caused subsequent auto-reset-and-upload attempts to fail. fixed b
- Date: Sat, 31 Mar 2012 20:24:40 +0000 (UTC)
commit 29d88309aedc76f75c6814931eaa046ddd2f8944
Author: Zach Eveland <zeveland blacklabel-development com>
Date: Thu Sep 8 19:31:18 2011 -0400
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.
arduino/boards.txt | 6 +++---
arduino/cores/arduino/CDC.cpp | 10 +---------
2 files changed, 4 insertions(+), 12 deletions(-)
---
diff --git a/arduino/boards.txt b/arduino/boards.txt
index 10a74f1..87ca07d 100644
--- a/arduino/boards.txt
+++ b/arduino/boards.txt
@@ -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/arduino/cores/arduino/CDC.cpp b/arduino/cores/arduino/CDC.cpp
index 5059cec..14a0eae 100644
--- a/arduino/cores/arduino/CDC.cpp
+++ b/arduino/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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]