Использовал стандартную библиотеку
Код
#include <avr/eeprom.h>
Пример использования
CODE
EEMEM int16_t eep_SD_WL;//
EEMEM int16_t eep_SZ_WL;//
EEMEM int32_t eep_DD_WL;//
EEMEM int32_t eep_DZ_WL;//
EEMEM int32_t eep_KM_WL;//
//.....
int16_t inSourceDelta;
int16_t inSourceZero;
int32_t inDestinationDelta;
int32_t inDestinationZero;
//Чтение
inSourceDelta=(int16_t)eeprom_read_word(&eep_SD_WL);
inSourceZero=(int16_t)eeprom_read_word(&eep_SZ_WL);
inDestinationDelta=(int32_t)eeprom_read_dword(&eep_DD_WL);
inDestinationZero=(int32_t)eeprom_read_dword(&eep_DZ_WL);
//Запись
eeprom_write_word(eep_SD_WL,4095);
eeprom_write_word(eep_SZ_WL,100);
eeprom_write_dword(eep_DD_WL,1);
eeprom_write_dword(eep_DZ_WL,1);
Чтение и Запись проходят удачно. Но как только сбрасываю питание - значения теряются.
Нашел на сайте Атмел Апликатион ноте AVR1315 Accessing the XMEGA EEPROM, но он ваще не удобный, нужно вычислять адреса страниц, байтов, и запись только побайтная.