Цитата(DL36 @ Nov 19 2008, 10:32)

offsetof возвращает смещение поля, за размером надо следить самому.
Пока не могу сообразить где есть привязка к базовому адресу, начала расположения структуры в ЕПРОМ.
У меня вполне логичное правило: размером читаемого блока является размер переменной, в которую выполняется чтение. С записью - тоже пляшем от размера переменной.
Привязкой лучше сделать 0х00, потому что намного удобнее "накрыть" структурой всю систему параметров, и пусть там будет несколько наборов, CRC и прочее. Т.е. это выглядит как глобальный хедер, из которого можно добраться до любого параметра.
И логика в этом есть - библиотечные функции, если они по-местному читают еепром, это не есть правильно с точки зрения портабельности.
Лучше как-нить через
Код
extern int get_timeout (void);// а здесь уже читаем откуда угодно
например так.
ПыСы чтение флеша с набором констант, ессно, аналогично