Я в похожем случае (правда в IAR) приноровился создавать две копии одной структуры. Одну с явно инициализированными значениями объявляю как const и кладу в выделенный сегмент Flash (INFO, например) по конкретному адресу, сопровождая прагмой required. Вторую объявляю как __no_init (без const, т.е. как структуру обычных глобальных переменных), но укладываю ее в тот же адрес во Flash, что и первую, и в программе работаю именно с ней. Конечно при компиляции warning указывает и линкер иногда "коленца" выдает, отказываясь компилировать. Но Rebuild all вроде пока помогает. Извиняюсь, если информация не совсем в тему.
|