The ATmegaBOOT_168.c module does not compile with an avr toolset that uses a av libC more recent than
July 5, 2009
(It can’t currently be built on linux)
This relates to the use of the EEWE define which is no longer defined in eeprom.h
There is a discussion of this over in this thread:
There are a number ways to “fix” this but my recommendation would be:
(read additional details in the above thread)
remove the ifdefs around the include for <avr/eeprom.h> (around line 79) since it is a NOP
and eeprom is always being included and eeprom.h is needed.
Remove the ifdefs around the eeprom busy test while loops (around line 584)
and replace it with a single line of either:
or for compatibility with avr tools prior to Feb 26, 2004
This is not altering any code but merely using macros available in eeprom.h to test the EEPROM busy
status that have been available for many years.
These eeprom.h macros will automatically use the proper EECR bit names.