Zach Eveland
d755d0035d
changed PID values for Leonardo bootloader and sketch
...
done to avoid driver problems for users who installed the pre-release bootloader and driver
2012-04-25 15:56:18 -04:00
Zach Eveland
764f94d0f1
merged Caterina with Blink
2012-04-11 23:24:04 -04:00
Zach Eveland
49f7fb00fd
fixed logic bug in Caterina that could stop the bootloader from entering self-programming mode
2012-04-11 23:19:05 -04:00
Zach Eveland
e2e0260094
Micro I hardly knew ye
2012-04-09 10:12:14 -04:00
Zach Eveland
f9a4a4362d
Micro and Leonardo bootloaders for distribution are now merged with Blink sketch
2012-04-09 08:08:34 -04:00
Zach Eveland
afedb5a92b
PID and VID are no longer hard-coded in bootloader. instead they are passed in at compile-time from makefile. also added and renamed built bootloader images for Micro and Leonardo
2012-04-09 08:03:56 -04:00
Zach Eveland
083f7c8891
bugfix for Caterina not starting sketch if "verify upload" turned off in IDE.
...
Previously, if avrdude skipped the upload step the read while write memory might never be reenabled. This would prevent the bootloader from ending and the sketch from starting - the bootloader just continued to run even after a successful upload. Now enable RWW when we receive the AVR109 "Exit bootloader" 'E' command. Had to disable lock bit changing support in the bootloader to free up flash for the change - will anyone miss it?
2012-03-14 17:48:11 -04:00
Zach Eveland
cd0db83a66
changed Caterina timeout after self-programming to 500 ms (from 250 ms)
...
attempt to fix bug reported by Dave Mellis:
"avrdude: ser_close(): can’t reset attributes for device: Invalid argument"
is thrown after attempting an upload in the IDE (though the upload seems to be successful)
2012-03-14 17:07:14 -04:00
Zach Eveland
75da79ad76
give Leonardo bootloader 250 ms to finish housekeeping before leaving self-programming mode
...
Earlier approach had bootloader end as soon as it was told to. On Linux this caused problems with avrdude because the microcontroller never had a chance to send an acknowledgement.
2012-03-08 14:20:12 -05:00
Zach Eveland
53e51de832
removed old version of Leonardo's caterina bootloader, replaced with LUFA-based caterina
2012-03-08 13:47:42 -05:00
Zach Eveland
351817af47
reduced Caterina timeout to 8 seconds from 16
2012-03-01 08:51:47 -05:00
Zach Eveland
7948125208
Leonardo now checks whether bootloader should be run after a WDT event.
...
Before the sketch initiates an auto-reset for upload it pokes a magic word into a specific RAM address. On starting the bootloader checks this address. If it finds the magic word it knows the bootloader code should run. If not it jumps straight back to sketch.
Test in a sketch by adding to setup():
wdt_enable(WDTO_2S);
Sketch should upload, start, run for two seconds, WDT, and sketch should restart (not bootloader).
Had to cut out unused descriptor code to make the bootloader still fit in 4k.
2012-02-14 12:17:30 -05:00
Zach Eveland
b28e6c2f9c
Leonardo bootloader jumps straight to sketch for a power-on reset.
...
Disconnect programmer after burning bootloader to get the full effect. ICSP and JTAG programmers do a hardware reset after any reset condition, confusing the firmware a little.
2012-02-14 09:59:48 -05:00
Zach Eveland
ac3aca0acf
changed Leonardo bootloader and sketch PID values again (now 0x0701 for bootloader, 0x0801 for sketch)
2012-02-13 00:10:16 -05:00
Zach Eveland
35bbf80ba9
adjusting descriptors - trying to prevent sketch and bootloader from grabbing different COM numbers on Windows
2012-02-08 01:16:56 -05:00
Zach Eveland
3191583476
changed Caterina descriptors - Arduino LLC VID, new PID, manufacturer string, and serial number
2012-02-07 23:52:55 -05:00
Zach Eveland
12e2af9cd7
fixed bug in Caterina which caused some programming instructions to fail
...
Timer 1 interrupts were trashing self-programming timing. Now disable Timer 1 compare match before doing Flash tasks and reenable afterward.
2012-02-07 23:46:31 -05:00
Zach Eveland
e720ffb81d
increased Leonardo bootloader timeout to 16 seconds
2012-02-06 15:23:41 -05:00
Zach Eveland
4544fb1a1f
proper bootloader timeout and LED control in Leonardo bootloader
2012-02-03 23:15:04 -05:00
Zach Eveland
45d3b10295
Caterina now cleanly hands off operation to the sketch
...
had to remove TIMER1 operation from bootloader - was interfering with normal sketch operation
2012-01-24 18:04:10 -05:00
Zach Eveland
014466a788
move interrupt vector table to application section before jumping to it after upload finished.
2012-01-21 16:51:55 -05:00
Zach Eveland
0d8f865d9b
Leonardo bootloader checks reason for reset and jumps immediately to sketch if reset was caused by WDT
2012-01-21 16:39:06 -05:00
Zach Eveland
98a50871fb
stripped all LUFA LED control. from LUFA-based Caterina
2012-01-19 21:31:51 -05:00
Zach Eveland
e650b85ca5
changed fuses to select 4k bootloader for LUFA-based Caterina
2012-01-19 21:18:07 -05:00
Zach Eveland
d8cc8cdf4a
added Board/LEDs.h to LUFA-based Caterina
2012-01-19 21:17:12 -05:00
Zach Eveland
1133482716
superficial changes to stock LUFA CDC bootloader - renamed project, removed unnecessary files
2012-01-19 20:31:35 -05:00
Zach Eveland
58090a259c
initial checkin of LUFA 111009 CDC bootloader
2012-01-19 20:04:55 -05:00
Zach Eveland
73b46de27b
made Leonardo and Micro bootloader PIDs same as sketch PIDs
2012-01-10 21:23:01 -05:00
Zach Eveland
385679caf2
restored composite and non-composite device descriptors (removed in 4b05c3fc7529477fb7031d42103c15b50a6b58be)
...
Windows wants to see both types of device descriptors.
2012-01-10 20:52:57 -05:00
Zach Eveland
29e4d73a55
reenabled HID to force Leonardo bootloader to enumerate as a composite device
2012-01-10 17:04:32 -05:00
Zach Eveland
0ed2d3c953
renamed DiskLoader to Caterina (after Leonardo's mom)
2012-01-10 16:29:47 -05:00
Zach Eveland
63a86b67ca
changed USB PID for Leonardo and Micro bootloaders
...
sketch and bootloader will use different PIDs to distinguish one from the other.
2012-01-10 16:09:56 -05:00
Zach Eveland
0ea882bc24
fixed warning when comparing pgm_read_word(0) to -1 (thanks, Limor Fried and Phillip Torrone)
2012-01-10 16:00:46 -05:00
Zach Eveland
94443a2a77
got rid of u8, u16, u32 typedefs in Diskloader
...
done to bring types in line with others in Arduino core
2012-01-10 15:51:44 -05:00
Zach Eveland
dbec0f0058
made the bootloader's LED control macro names less offensive
...
TX_LED_OFF() instead of TXLED0, etc.
2012-01-10 15:38:26 -05:00
Zach Eveland
648dd85e94
added conditional compilation for HID, removed conditional compilation for CDC (is always used). disabled HID by default. also always enumerates as composite now.
...
the bootloader must always have a CDC interface. HID is optional and not even complete to reduce size.
2012-01-10 15:31:56 -05:00
Zach Eveland
59ef51d752
fix bug in handling of long descriptors for bootloader USB (thank you, Todd Krein, Limor Fried, and Phillip Torrone)
...
descriptors longer than 255 bytes were being shortened, causing problems with enumeration under Windows
2012-01-10 14:25:40 -05:00
Zach Eveland
28e9e122af
reset the Leonardo board when leaving the bootloader, before starting the sketch
...
Done so all IO and other registers are properly reinitialized when a new sketch is uploaded or when an existing sketch is started. Uses a watchdog timeout with a 15 ms period to accomplish the reset. Bootloader checks the reason for reset and only enumerates as bootloader and enters the programming loop if reset was NOT caused by WDT.
2011-12-31 12:19:08 -05:00
Zach Eveland
80b02232e4
bootloader merged with blink sketch
...
full set of descriptors in sketch fixes driver installation issue on Win7.
2011-12-26 17:19:48 -05:00
David A. Mellis
266d3aaaf5
Correcting Arduino Mini w/ ATmega328 bootloader file and fuses (untested).
2011-11-25 19:26:01 -06:00
Zach Eveland
36513f8362
Leonardo bootloader now sends iSerial string during enumeration. Seems to satisfy Windows' composite device requirements.
2011-11-16 16:38:22 -05:00
Zach Eveland
4b7771a815
restored original non-interrupt-driven DiskLoader
...
Interrupt-driven version was a dead-end - too many bugs with that approach.
2011-11-09 14:04:59 -05:00
Zach Eveland
75cc55d917
changed Leonardo PID to 0x0032 for Diskloader testing. updated .inf to match.
2011-10-31 23:44:32 -04:00
Zach Eveland
0a69d10b37
check to see if a sketch has been loaded before jumping out of bootloader
2011-10-31 21:36:29 -04:00
Zach Eveland
3524f2ff0b
Revert "Merge branch 'master' of github.com:arduino/Arduino into diskloader_reboot"
...
This reverts commit df9835efafd13685251749bc210c0b96a18a96a5, reversing
changes made to ec45af8bfa9222a807c075dd1db4b5aa798bba03.
Conflicts:
hardware/arduino/variants/mega/pins_arduino.h
libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino
2011-10-27 11:45:13 -04:00
Zach Eveland
2b13fd3b40
bootloader runs sketch after timeout, added bootloader LED breathing
2011-10-27 11:27:24 -04:00
Zach Eveland
71879e53fe
cosmetic changes - remove old comments, unused code
2011-10-27 10:54:21 -04:00
Zach Eveland
5d976f8b1d
removed conditional compilation checks for CDC_ENABLED
...
bootloader must always have CDC enabled
2011-10-27 10:48:26 -04:00
Zach Eveland
0ab2cb1c69
removed old comments and unused USB core code
2011-10-27 10:45:13 -04:00
Zach Eveland
da03595c32
brought nuevo_diskloader changes over to diskloader
...
Moved nuevo_diskloader files into diskloader directory. Changed back to real PID for Leonardo
2011-10-27 10:23:06 -04:00