# AVR device-specific IO definitions

     #include <avr/io.h>

This header file includes the apropriate IO definitions for the device that has been specified by the `-mmcu=` compiler command-line switch. This is done by diverting to the appropriate file `<avr/io` XXXX`.h>` which should never be included directly. Some register names common to all AVR devices are defined directly within `<avr/io.h>`, but most of the details come from the respective include file.

Note that this file always includes

     #include <avr/sfr_defs.h>

See Special function registers for the details.

Included are definitions of the IO register set and their respective bit values as specified in the Atmel documentation. Note that Atmel is not very consistent in its naming conventions, so even identical functions sometimes get different names on different devices.

Also included are the specific names useable for interrupt function definitions as documented here.

Finally, the following macros are defined:

- RAMEND
  A constant describing the last on-chip RAM location.
- XRAMEND
  A constant describing the last possible location in RAM. This is equal to RAMEND for devices that do not allow for external RAM.
- E2END
  A constant describing the address of the last EEPROM cell.
- FLASHEND
  A constant describing the last byte address in flash ROM.
- SPM_PAGESIZE
  For devices with bootloader support, the flash pagesize (in bytes) to be used for the `SPM` instruction.

Automatically generated by Doxygen 1.4.1 on 13 Oct 2005.