RIOT-OS/RIOT — pull request #1420 by N8Fear (2014-07-15 11:49:49+00:00)
Title: board: cpu: Initial import of the Arduino Mega2560 (SWP)

## This pull request adds general support for the Arduino Mega 2560 board.
### This includes:

* **Atmel ATmega processors** in general (cpu/atmega_common)
* **Atmel ATmega2560** especially (cpu/atmega2560)
* **Arduino Mega 2560** (boards/arduino-mega2560)

### What is needed:
* avr-toolchain (tested on the one in the ubuntu repos and on avr-libc-1.8.0, binutils-2.23.2, gcc-4.9.0)
Dependency on avr-libc right now is not optional.
* avrdude (for flashing the image to the board)

### What works:
* Taskswitching in general (tested with examples/ipc_pingpong)
* UART: (one USART is used as stdin/stdout, all four USARTs of the Arduino Mega 2560 should be supported)
* Timers (3 16 Bit Timers with 3 Channels each)
* Basic GPIO/LED (hardcoded)

### What is missing:
* LPM is not yet implemented
* GPIO interface is not implemented
* stdin is untested and should be reimplemented using interrupts

### Known issues:
* Several of the tests fail and are therefore blacklisted (bloom uses values larger that 2 Bytes, the others fail due to missing headers in avr-libc (time.h and sys/types.h).

*Note:* I've squashed the commits into 4 single commits, each dealing with one of the major code parts added (cpu/atmega_common, cpu/atmega2560, boards/arduino-mega2560 and tests). I hope that it's ok this way (otherwise I also could push the unsquashed commits which would be more chaotic thought).