Age | Commit message (Collapse) | Author |
|
|
|
sketch and bootloader will use different PIDs to distinguish one from the other.
|
|
Phillip Torrone)
|
|
done to bring types in line with others in Arduino core
|
|
TX_LED_OFF() instead of TXLED0, etc.
|
|
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.
|
|
Krein, Limor Fried, and Phillip Torrone)
descriptors longer than 255 bytes were being shortened, causing problems with enumeration under Windows
|
|
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.
|
|
full set of descriptors in sketch fixes driver installation issue on Win7.
|
|
|
|
satisfy Windows' composite device requirements.
|
|
Interrupt-driven version was a dead-end - too many bugs with that approach.
|
|
|
|
|
|
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
|
|
|
|
|
|
bootloader must always have CDC enabled
|
|
|
|
Moved nuevo_diskloader files into diskloader directory. Changed back to real PID for Leonardo
|
|
Conflicts:
app/src/processing/app/Editor.java
app/src/processing/app/Sketch.java
build/shared/examples/4.Communication/SerialCallResponse/SerialCallResponse.pde
build/shared/lib/theme/theme.txt
hardware/arduino/cores/arduino/HardwareSerial.h
hardware/arduino/cores/arduino/Print.cpp
hardware/arduino/cores/arduino/WString.h
hardware/arduino/variants/mega/pins_arduino.h
libraries/Ethernet/examples/PachubeClient/PachubeClient.ino
libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino
libraries/Firmata/examples/EchoString/EchoString.ino
libraries/SD/File.cpp
libraries/SoftwareSerial/SoftwareSerial.cpp
libraries/SoftwareSerial/SoftwareSerial.h
libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino
libraries/SoftwareSerial/keywords.txt
|
|
NOTE: need to have sketch CDC jump to appropriate place for bootloader - 4k from end instead of 2k
|
|
|
|
|
|
|
|
makes it to flash programming address 0400 or so before hanging
|
|
|
|
|
|
it falling out of sync after completing most operations
|
|
|
|
|
|
to respond to STK_GET_PARAMETER
|
|
Windows (it works)
|
|
|
|
|
|
experiments
|
|
section
|
|
bootloader to hang
|
|
|
|
|
|
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)
|
|
(cherry picked from commit c56a1293d70d27531b7351edc3aa4c11b4a6996b)
|
|
(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)
|
|
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)
|
|
(cherry picked from commit ece29c380556878ba8efebce8801a7f076c61ada)
|
|
(found during atmega8 testing.)
(cherry picked from commit 422398e08c8e011bf490b54af88271c54e56ddb9)
|
|
(cherry picked from commit e28b716f88968477fa0f42dbd88c539573e91886)
|
|
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)
|
|
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)
|
|
(cherry picked from commit d4632cb09593e44bc8624c6b9a432c672fe4ad45)
|