2.1 Device Description

This compiler guide describes the MPLAB XC8 compiler’s support for all 8-bit Microchip AVR devices, including tinyAVR®, and AVR XMEGA® devices.

The compiler takes advantage of the target device’s instruction set, addressing modes, memory, and registers whenever possible. A summary of the device families is shown below. This includes the offset of the special function registers and the offset at which program memory is mapped into the data space (where relevant), plus assembly instruction implemented in addition to the basic set. Note that the avr1 family supports programming in assembly only.

See Print-devices for information on finding the full list of devices that are supported by the compiler. Support for a new device might be possible after downloading an updated Device Family Pack.

Table 2-1. Summary of Supported Device Families
FamilyArchIDSFR OffsetAdditional Instructions
avr110x20
avr220x20
avr25250x20lpmx, movw
avr330x20jmp
avr31310x20jmp, elpm
avr35350x20jmp, lpmx, movw
avr440x20mul, lpmx, movw
avr550x20mul, jmp, lpmx, movw
avr51510x20mul, jmp, lpmx, movw, elpm, elpmx
avr660x20mul, jmp, lpmx, movw, elpm, elpmx, eijmp
avrtiny1000x0
avrxmega21020x0mul, jmp, lpmx, movw
avrxmega31030x0mul, jmp, lpmx, movw
avrxmega41040x0mul, jmp, lpmx, movw, elpm, elpmx
avrxmega51050x0mul, jmp, lpmx, movw, elpm, elpmx
avrxmega61060x0mul, jmp, lpmx, movw, elpm, elpmx, eijmp
avrxmega71070x0mul, jmp, lpmx, movw, elpm, elpmx