I am now really puzzled... I am using arduino-0021, and my eeprom.h is really different - the $Id line is
/* $Id: eeprom.h 2111 2010-03-28 22:36:13Z arcanum $ */
I haven't replaced it yet. Very simple LED blink programs run fine, so I am communicating with the mega2560
I have gcc-config'd to 4.3.5, and I get
unknown MCU 'atmega2560' specified
when I set the board type to atmega2560 and compile Using strace I identified where:
avr-gcc claims that atmega2560 is supported
/usr/libexec/gcc/avr/4.3.5/cc1 DOES NOT support it - it only goes as far as the 1284.
I checked -- version, and it really is cc1 4.3.5 p1.1. I looked at my other versions, and cc1 for 4.4.4 and 4.5.1 do support the 2560, 4.2.4 does not
Can you confirm which arduino you use, and that your cc1 really is 4.3.2. It seems odd that support was lost from 4.3.2 to 4.3.5, but it could be.
Cr0sh. I am upset because I've had really good experiences with the 328 based arduinos. I needed 3 hardware serials, so the mega was ideal. I choose the 2560 as it was not more expensive, and the 8u2 might be useful.
I had not realised that avr effort in gcc is so limited, with bugs unfixed for several years. It would pay atmel to support gcc - I am now having to consider the mbed platform just to get a reliable tool chain.
I note that atmel's tool chain version 2.4.2 uses a possibly hacked version of 4.3.2. I might try downloading that, and seeing if it will compile for the 2560. (Gentoo does not have 4.3.2, only 4.3.3 and 4.3.5 in the 4.3 series)
Fortunately I have one mega(1280) on hand - I just don't want to have to explain to the boss that 4 mega2560s he's bought are only paperweights for the time being...
Back to hacking...