Итак.
Имеется проектик на CodeVisionAVR, Mega88. Достался в наследство, портировать в другую среду категорически ломает, поэтому необходимо выжать максимум из того, что есть. Имеются некоторые параметры конфигурации, которые хотелось-бы хранить во флэш. Епром не подходит, поскольку имеется высокая вероятность его "слета" - питание батарейное и пользователи совсем не парятся с аккуратностью.
Проблема в следующем - памяти впритык,осталось около 256байт, т.е. хотелось бы использовать самые верхние адреса флэш, скажем с адреса 0xFE0. Но эта область уже вроде как определена под бутлоадер.
Вопрос: можно ли из своего кода сохранить параметры в этой области? Или это не возможно в принципе?
Пробовал писать в эту область - результат - 0. Впрочем как и в любую другую, даже в области памяти программ. Код для этого должен лежать в области бутлоадера? Если так - как затолкать туда функции для работы с флэш средствами CodeVision, чтобы основной код лежал в программной области, а нужное - в буте?
Еще вопрос. Пытаюсь прочитать те самые параметры конфигурации, да в прочем любые данные из флэш вот так:
Код
base_adress = (*(( unsigned char flash*) 0x0600));
результат - какая-то фигня. Хотя по смыслу вроде правльно. Адрес выбран произвольно и там другие значения.
Разместить изначально константы во флэш по нужным адресам CodeVision не дает.
Фузы - никаких ограничений нет.
Кто что подскажет?