boot_opt.h includes the standard boot.h, defining only the few _short
versions that optiboot needs. It also makes these compile-time compatible
with targets that do NOT have SPMCSR accessible with the OUT instruction
(this edit causes no binary changes to any of the makeall targets)
(Finally) commit the MarkG55/majekw mcusr patches.
Optimize a bit by implementing a union for the
various 16bit address values used (based on
observation by "aweatherguy", but different.)
Slightly optimize math in VIRTUAL_BOOT code
Add some virboot targets, fix some fuses.
Implement LED_START_ON; less code than flashes
"atmega328 SUPPORT_EEPROM=1 LED_START_FLASHES=0 LED_START_ON=1"
now fits (barely) in 512 bytes.
has been unncessary for quite a long time. It turns out that if
we don't call and stdlib functions, then no stdlib bloat gets
added (duh.) Thanks to matthijskooijman for finally noticing this.
It fixes bugs related to using the EEPROM functions (from stdlib)
in spite of library name changes between compiler versions.
(Now compiles with gcc 3.4.x though gcc 5.2.x, AFAICT.)
https://github.com/Optiboot/optiboot/issues/233https://github.com/Optiboot/optiboot/issues/177
This is very basic support, it compiles Optiboot using
avr-tools only from one Arduino version, currently 1.6.9.
Attiny84 is in 'allow_failures' as it currently doesn't
compile on any version of tools.
Avr-gcc shipped with Arduino below version 1.6.x doesn't define RAMSTART
for Armega2560 and Optiboot incorrectly assumes wrong location.
It led to store new flash values in register's memory space which
caused unexpected chip behaviour and write/verification errors.
Thanks to Matthijs Kooijman for finding this.
In this new version, the program gives more meaningful strings about the reset source (no more "Unknown" when more sources are triggered).
Moreover the program will not wait for some time before triggering a WDT reset, and clearly asks the user to press a button to reset using that peripheral
Finally, since this program should only run once, the majority of the program is moved to the setup function rather than the loop