* Changed interrupt vector to save original jump. Now uses SPM_Ready
instead of watchdog's.
* Rewrite/fix 'rjmp' part to use and calculate correctly on all 12 bits
of address.
* Added 'virboot8' test target to Makefile with Virtboot on Atmega8.
Optiboot is licensed under GPLv2
(Since a bootloader can be updated orthoganally to application code
in a microcontroller, this does NOT mean that applications using
optiboot also need to be GPL'ed.)
https://github.com/Optiboot/optiboot/issues/119
https://code.google.com/p/optiboot/issues/detail?id=110
Make the "length" variable types be dependent on SPM_PAGESIZE.
Having it be uint8_t on smaller chips saves significant code
space, but it really should be uint16_t on bigger chips.
(Also, fix the luminet makefile target. Not that the code works.)
/* Remove serial/flash overlap */
/* (and all references to NRWWSTART/etc) */
/* Correctly handle pagesize > 255bytes */
/* Add EEPROM support in BIGBOOT (1284) */
/* EEPROM write on small chips now causes err */
/* Split Makefile into smaller pieces */
/* Add Wicked devices Wildfire */
/* Move UART=n conditionals into pin_defs.h */
/* Remove LUDICOUS_SPEED option */
/* Replace inline assembler for .version */
/* and add OPTIBOOT_CUSTOMVER for user code */
/* Fix LED value for Bobuino (Makefile) */
/* Make all functions explicitly inline or */
/* noinline, so we fit when using gcc4.8 */
/* Change optimization options for gcc4.8 */
/* Make ENV=arduino work in 1.5.x trees. */
it uses some pretty "edgey" compiler/makefile capabilities. This
patch causes Make to ignore errors (and procede anyway) if there are
errors in the baudcheck part of the build.
so that the user can see whether it's going to be reasonably
accurate or not. There are two parts to this:
1) Use of #error and #warning in optiboot.c, for when the error is large.
2) Since you can't get the compiler to spit out actual numbers, create a
new target "baudcheck" that does. This is somewhat complicated by the
possibile non-availability of the usual development tools in the user
environment, so baudcheck.c is run through the avr-gcc preprocessor, and
produces a shell script.
http://code.google.com/p/optiboot/issues/detail?id=79
Now that there's a prior "version" demonstrating identical
binaries, update to 5.0 so we can tell whether anyone uses it.
This causes much churn in the .hex and .lst files, even though
only the version number has changed.
Also, add some entries to boards.txt and update it with
build.variant lines for post IDE 1.0.2 (may no longer work
with older versions of the IDE.)
Remove the optiboot_lilypad_resonator .hex and .lst, since they
should be identical to optiboot_lilypad (only fuses change.)
(Note that this happens without changing any binaries!)
Allows options on Make command line "make xx LED=B3"
(see also pin_defs.h)
Divide into "chip" targets and "board" targets.
Most boards are (recursive) board targets with options.
Move isp target to separate makefile (fixes m8 EFUSE)
Some (many) targets will now be rebuilt when not
strictly necessary, so that options will be included.
(any "make" with options will always compile.)
Set many variables with ?= so they can be overridden
Use arduinoISP settings as default for ISP targets
Restructure makeall to build chip targets last, since versions
are built and renamed to make the board targets.
#
Rename "mega" target to "mega1280", since optiboot probably doesn't work on a mega2560.
Fix fuse values for pro8.
Add skeleton for using ArduinoISP as programmer for ISP targets.
core files normally distributed with the Arduino IDE or with other boards
(Sanguino, Luminet) have long been so obsolete that they do more harm than
good, and there is now a mechanism for pointing add-on "boards.txt" entries
to the common platform code.
See http://code.google.com/p/optiboot/issues/detail?id=11