Цитата(_Pasha @ Sep 30 2008, 10:30)

А потом эту структуру инициализируем черт знает чем __EEPROM_DATA (...)
И это при том, что параметров может быть несколько десятков.
Проктологи отдыхают...

Я ведь привел инициализацию сложной структуры, любого размера, из ЕПРОМ.
Практически я делаю так, поскольку вычислять где и что лежит не интересно, и имеется запись тех же параметров в структуру. Под отладчиком пишу где и что надо, снимаю дамп и переписываю его в исходники.
Код
/*####################################################################
* EEPROM DATA Фактически это номер ячейки памяти с которой выполняем старт чтения
*####################################################################*/
#define NuStartEEprom 0 // Тут первое чтение Именно это значение подставляется
// в процедуру чтения и записи
#define NU_DET+sizeof(NuStartEEprom) // Запись, чтение следующей структуры
...
...
...
Так, что вроде никаких проблем, держать переменные в ЕПРОМ
тоже вроде возможно но смысла я не вижу, поскольку будет большое время доступа.