aboutsummaryrefslogtreecommitdiff
path: root/bootloaders
AgeCommit message (Collapse)Author
2011-10-25progress on bootloader bug - have implemented blocking USB_Recv. avrdude ↵Zach Eveland
makes it to flash programming address 0400 or so before hanging
2011-10-24fixed logic bug in waiting for synch. stripped out all Serial stuffZach Eveland
2011-10-24removed old commentsZach Eveland
2011-10-23bootloader responds properly now. nearly there - still have an issue with ↵Zach Eveland
it falling out of sync after completing most operations
2011-10-21more attempts to get parameter sending to workZach Eveland
2011-10-21some progress on responding to parameter requestsZach Eveland
2011-10-21avrdude communication starting to work - responds to sync, fails when trying ↵Zach Eveland
to respond to STK_GET_PARAMETER
2011-10-21continuing to port programming code. temporarily changed PID to test on ↵Zach Eveland
Windows (it works)
2011-10-21starting to port bootloader programming code - testing as I goZach Eveland
2011-10-21added and modified Program() routineZach Eveland
2011-10-21cleaning up code and comments in main - getting rid of leftover stuff from ↵Zach Eveland
experiments
2011-10-21Enumerates! used inline ASM for operation which moves interrupts to boot ↵Zach Eveland
section
2011-10-21can now enable interrupts but EORSTE or SOFE in USB_::attach() still cause ↵Zach Eveland
bootloader to hang
2011-10-21added more USB source adapted from sketch core. still not enumerating.Zach Eveland
2011-10-21initial commit of new Diskloader-based bootloader experimentZach Eveland
2011-10-10Explicitly set the SHELL variable when OS=windows, so that we'll useWestfW
the same shell regardless of whether other shells are installed (different shells have different behavior WRT directory component separators, so this matters. http://code.google.com/p/arduino/issues/detail?id=667 ) (cherry picked from commit fc8cacb9a3b7c1d9cf96ae9891c7c3cd21f3c181)
2011-10-10Oops. Add atmega8.lst/hex and atmega168.lst/hex to controlled files.WestfW
(cherry picked from commit c56a1293d70d27531b7351edc3aa4c11b4a6996b)
2011-10-10Allow the READ PARAMETER command to return our version number.WestfW
(significant size impact: 14 bytes!) Initialized "address" to eliminate compiler warning (4 bytes!) Add "atmega168" as a more accurate target name than "diecimila" (keep diecimila as well for backward compatibility) Reduce the .hex and .lst targets that are stored in source control to the three basics: atmega8, atmega168, atmega328. The other targets remain in the makefile and makeall, but will need to be built from source if wanted. Which should be less of a problem now that the source is buildable without installing crosspack. (cherry picked from commit 7b1ee0f1b0192143fffbbed66dc046b6568f4386)
2011-10-10http://code.google.com/p/arduino/issues/detail?id=368WestfW
Optiboot does not support ArduinoasISP programmer. When avrdude runs and talks to an arduino running ArduinoISP, it needs the optiboot (entered due to auto-reset) to abort and start the ArduinoISP "application" when it sees communications at the wrong serial speed. Unfortunately, optiboot treats all unrecognized command characters as "no-ops" and responds/loops for more commands, leading to a nice loop that never gets to the sketch. This patch causes characters received with Framing errors (the most likely error for speed mis-matches) to NOT reset the watchdog timer (normally done in getch()), which will cause the application to start if it continues for "a while." (tested. Works! Running ArduinoISP at speeds as high as 57600 still causes the bootloader to start the sketch (although it fails later on for other reasons.)) (cherry picked from commit e81c1123b624b6cac7da018c9c786700f3152bc9)
2011-10-10(make sure .hex and .lst are updated as well.)WestfW
(cherry picked from commit ece29c380556878ba8efebce8801a7f076c61ada)
2011-10-10Fix errors in LDSECTIONS refactoringWestfW
(found during atmega8 testing.) (cherry picked from commit 422398e08c8e011bf490b54af88271c54e56ddb9)
2011-10-10Update version to reflect previous edit. Sigh.WestfW
(cherry picked from commit e28b716f88968477fa0f42dbd88c539573e91886)
2011-10-10Shrink code by using registers for variables "length" and "address"WestfW
http://code.google.com/p/optiboot/issues/detail?id=33 Fix high-value watchdog timeouts on ATmega8 http://code.google.com/p/optiboot/issues/detail?id=38 Change "start app on bad commands" code to start the app via the watchdog timer, so that the app is always started with the chip in fully reset state. http://code.google.com/p/optiboot/issues/detail?id=37 (cherry picked from commit 6f7687b0f925cb07447cbbcc692766c51c02f700)
2011-10-10Add a version number to the optiboot source and binary.WestfW
http://code.google.com/p/arduino/issues/detail?id=554 end of flash memory where they can be read (at least in theory) by device programmers, hex-file examination, or application programs. This is done by putting the version number in a separate section (".version"), and using linker/objcopy magic to locate that section as appropriate for the target chip. (See http://lists.gnu.org/archive/html/avr-gcc-list/2011-02/msg00016.html for some discussion on the details.) Start the version at 4.1 (the last "packaged" version of optiboot was called version 3, so the "top of source" would be 4.0, and adding the version number makes 4.1) Refactor LDSECTION in the Makefile to LDSECTIONS so that multiple section start addresses can be defined. Change the _isp makefile definitions to make the bootloader section readable (but not writable) by the application section. (This would need to be done elsewhere as well to handle all bootloader programming techniques. Notably Arduino's boards.txt Note that this change does not change the "code" portion of optiboot at all. The only diffs in the .hex files are the added version word at the end of flash memory. (cherry picked from commit 00706284dec3171646419839bd4a9e3f1c2d7088)
2011-10-10Update shell script makeallWestfW
(cherry picked from commit d4632cb09593e44bc8624c6b9a432c672fe4ad45)
2011-10-10This is a relatively significant edit that brings the Arduino copy ofWestfW
optiboot up-to-date with the optiboot source repository as of Jun-2011 (the last changes made in the optiboot repository were in Oct-2010) This adds support for several plaforms, fixes the "30k bug", and refactors the source to have separate stk500.h, boot.h, and pin_defs.h These are the arduino opticode issues fixed: http://code.google.com/p/arduino/issues/detail?id=380 optiboot has problems upload sketches bigger than 30 KB http://code.google.com/p/arduino/issues/detail?id=556 update optiboot to the point of the latest optiboot project sources. These are issues that had been solved in the optiboot source aready: http://code.google.com/p/arduino/issues/detail?id=364 optiboot leaves timer1 configured when starting app, breaks PWM on pin 9 and 10. (fixed with a workaround in arduino core.) aka http://code.google.com/p/optiboot/source/detail?r=c778fbe72df6ac13ef730c25283358c3c970f73e Support for ATmega8 and mega88. Fix fuse settings for mega168 _ISP targets Additional new platforms (mega, sanguino) http://code.google.com/p/optiboot/issues/detail?id=26 Set R1 to 0 (already in arduino code) http://code.google.com/p/optiboot/issues/detail?id=36&can=1 Fails to build correctly for mega88 After this commit, the only differences between the Arduino optiboot.c and the optiboot repository optiboot.c are cosmetic. (cherry picked from commit e2812ef91cc1489527827dcd14c843f3b3244f36)
2011-10-10http://code.google.com/p/arduino/issues/detail?id=517WestfW
Remove the trailing comments when setting fuse values for the various *_isp targets, so that they won't cause avrdude errors. This was done the same way as in the optiboot source tree: http://code.google.com/p/optiboot/issues/detail?id=17 http://code.google.com/p/optiboot/source/detail?r=005fb033fc08c551b2f86f7c90c5db21549b3f20 (cherry picked from commit 6840b77643a75b850d48bed80c578da484e6559f)
2011-10-10Makefile modification to allow building optiboot in more environments.WestfW
Allows building within the Arduino Source tree, and within the Arduino IDE tree, as well as using CrossPack on Mac. Adds README.TXT to track arduino-specific changes (and documents the new build options.) This addresses Arduino issue: http://code.google.com/p/arduino/issues/detail?id=487 And optiboot issue http://code.google.com/p/optiboot/issues/detail?id=1 (which can be thought of as a subset of the Arduno issue.) Note that the binaries produced after these Makefile changes (using any of the compile environments) are identical to those produced by the crosspack-20100115 environment on a Mac. (cherry picked from commit 2d2ed324b48e709f59a002cb274ed60bb0ebc911)
2011-09-16Updating bootloader comments.David A. Mellis
2011-09-16Updating Micro bootloader (previous one was identical to Leonardo).David A. Mellis
2011-09-16new bootloader binaries for Micro and Leonardo - uses new assignment for ↵Zach Eveland
TXLED pin
2011-09-16updated pin mappings for bootloader and pins_arduino.h in anticipation of ↵Zach Eveland
final hardware.
2011-09-16restored Micro entry in boards.txt, made separate bootloader images for ↵Zach Eveland
Leonardo and Micro.
2011-09-16bootloader iProduct definition changed to "Arduino Leonardo Bootloader" or ↵Zach Eveland
"Arduino Micro Bootloader". selection depends on PID passed in at compile time
2011-09-16added to the bootloader iProduct and iManufacturer strings identifying board ↵Zach Eveland
as an "Arduino Leonardo" manufactured by "Arduino LLC"
2011-09-16faster LED breathing animation in bootloaderZach Eveland
2011-09-08updated Leonardo INF with correct PID and created new Micro INF.Zach Eveland
2011-09-08in bootloader reduced delay between receiving stk500 'Q' and jumping to ↵Zach Eveland
application
2011-09-08disabling watchdog in bootloaderZach Eveland
2011-09-08misc. bootloader fixes: increased wait time after receiving avrdude 'Q', ↵Zach Eveland
increased bootloader timeout, and fixed LED one-shot timing
2011-09-08Revert "added Micro section to boards.txt. specified different bootloader ↵Zach Eveland
hex files for Leonardo and Micro (differ only by PID). added PID entries to boards.txt" This reverts commit 3b5122e13837eede7c10acf484efdee4d03e802d.
2011-09-08added Micro section to boards.txt. specified different bootloader hex files ↵Zach Eveland
for Leonardo and Micro (differ only by PID). added PID entries to boards.txt
2011-09-08changed PIDs for Leonardo and Micro. PIDs are now defined in the MakefileZach Eveland
2011-09-08removed all bootloader mass storage and MSC referencesZach Eveland
2011-08-27bootloader ends as soon as sketch upload finishes. restored pulsing of LED ↵Zach Eveland
while bootloader running.
2011-08-14LEDs for D13, TX, and RX are more in line with Uno-like behavior during ↵Zach Eveland
sketch uploading. D13 flashes on reboot, TX and RX flash with USB data transfer.
2011-08-14rebuilt Diskloader, added LED control macros for Leonardo, removed ↵Zach Eveland
Microtouch defines
2011-08-14increased bootloader delay to approx. 3.5 sZach Eveland
2011-08-11diskloader source and binary for 32u4Zach Eveland
2011-01-15Fix to optiboot infinite loop problem.David A. Mellis
Explicitly setting R1 to 0 so that the watchdog timer is properly initializing, preventing it from timing out and resetting the processor. http://code.google.com/p/optiboot/issues/detail?id=26 http://code.google.com/p/arduino/issues/detail?id=446