Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: о сохранении константы
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Евгений Германович
Вопрос,куда безопаснее поместить константу- в память программ или в EEPROM?
На форумах неоднократно встречал нехорошие слова о записи в EEPROM. И о проблемах записи во Flash память.
Хайтек вроде дает возможность писать в обе памяти.Константа появляется в процессе работы и на этапе компиляции проекта отсутствует.
@Ark
Не указан конкретный PIC. У многих младших моделей программная запись во Flash не поддерживается, у других - возможна только блоками по 16 (32) слова, причем не с любого адреса - а кратного длине блока...
В любом случае - при записи в Flash, Вы подвергаете программу потенциальной опасности разрушения в случае сбоя. Imho, запись констант во программую память можно использовать только в процессе начальной (заводской) настройки изделия, после которой оно подвергается обязательному тестированию. А для хранения констант, которые могут изменяться в процессе эксплуатации, нужно использовать только EEPROM.
Ненадежность встроенной EEPROM, по моему, сильно преувеличена, если конечно не превышать заявленного ресурса стирания/записи. Но желательно защищать информацию, записываемую в EEPROM, контрольными суммами. Рекомендую, также, предусмотреть запасной фикисированный набор констант, по которым должны восстанавливаться значения рабочих констант, в случае сбоя EEPROM. Вот его уже нужно хранить в программной памяти, а определять значение этого набора - непосредственно при программировании или же на этапе заводской настройки изделия.
xemul
Цитата(Евгений Германович @ Jul 6 2009, 19:27) *
Вопрос,куда безопаснее поместить константу- в память программ или в EEPROM?
На форумах неоднократно встречал нехорошие слова о записи в EEPROM. И о проблемах записи во Flash память.
Хайтек вроде дает возможность писать в обе памяти.Константа появляется в процессе работы и на этапе компиляции проекта отсутствует.

Если константа не слишком постоянная и будет относительно часто переписываться, то только в ЕЕПРОМ, т.к. у флэша ресурс перезаписей существенно ниже.
По надежности хранения - имхо, одноцветно, если речь не идет о сроке службы >10 лет. Инфа в ЕЕПРОМ слетает при обращении к ней (даже на чтение) при неустановившемся питании. Во флэше такое возможно только при записи. А методы борьбы со слетами одинаковы.
Евгений Германович
Спасибо утешили angry.gif Что в лоб,что полбу.ПИК 18.
Евгений Германович
И еще вопросик -а хайтек формат long double поддерживает?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.