Цитата(777777 @ Jun 10 2010, 10:23)

Хочу поместить в EEPROM две структуры, одну по нулевому адрусу, другую по адресу 0x100. Потому что в будущем размер первой структуры может измениться, а начальный адрес второй должен остаться прежним. Пока удалось это сделать только расположив между ними массив нужного размера для заполнения. Но ведь можно как-то сделать по нормальному, указав начальный адрес секции. Как это можно сделать? Как, вообще, указать что это секция для EEPROM? В avr-libc-user-manual про EEPROM ничего нет.
есть методы работы с еепром (eeprom_read, eeprom_write). обратиться к структуре напрямую Вы не можете (типа temp = eeprom_struct.var_1 ), только через процедуру чтения/записи. так вот, адрес по которому располагается Ваша переменная передается параметром и достаточно его задефайнить:
Код
#define EEPROM_STRUCT_1_ADDRESS 0x0000
#define EEPROM_STRUCT_2_ADDRESS 0x0100
также задефайнить можно все адреса элементов структуры.