реклама на сайте
подробности

 
 
> о сохранении константы
Евгений Германов...
сообщение Jul 6 2009, 15:27
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



Вопрос,куда безопаснее поместить константу- в память программ или в EEPROM?
На форумах неоднократно встречал нехорошие слова о записи в EEPROM. И о проблемах записи во Flash память.
Хайтек вроде дает возможность писать в обе памяти.Константа появляется в процессе работы и на этапе компиляции проекта отсутствует.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Guest_@Ark_*
сообщение Jul 6 2009, 16:23
Сообщение #2





Guests






Не указан конкретный PIC. У многих младших моделей программная запись во Flash не поддерживается, у других - возможна только блоками по 16 (32) слова, причем не с любого адреса - а кратного длине блока...
В любом случае - при записи в Flash, Вы подвергаете программу потенциальной опасности разрушения в случае сбоя. Imho, запись констант во программую память можно использовать только в процессе начальной (заводской) настройки изделия, после которой оно подвергается обязательному тестированию. А для хранения констант, которые могут изменяться в процессе эксплуатации, нужно использовать только EEPROM.
Ненадежность встроенной EEPROM, по моему, сильно преувеличена, если конечно не превышать заявленного ресурса стирания/записи. Но желательно защищать информацию, записываемую в EEPROM, контрольными суммами. Рекомендую, также, предусмотреть запасной фикисированный набор констант, по которым должны восстанавливаться значения рабочих констант, в случае сбоя EEPROM. Вот его уже нужно хранить в программной памяти, а определять значение этого набора - непосредственно при программировании или же на этапе заводской настройки изделия.
Go to the top of the page
 
+Quote Post
xemul
сообщение Jul 6 2009, 16:42
Сообщение #3



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Евгений Германович @ Jul 6 2009, 19:27) *
Вопрос,куда безопаснее поместить константу- в память программ или в EEPROM?
На форумах неоднократно встречал нехорошие слова о записи в EEPROM. И о проблемах записи во Flash память.
Хайтек вроде дает возможность писать в обе памяти.Константа появляется в процессе работы и на этапе компиляции проекта отсутствует.

Если константа не слишком постоянная и будет относительно часто переписываться, то только в ЕЕПРОМ, т.к. у флэша ресурс перезаписей существенно ниже.
По надежности хранения - имхо, одноцветно, если речь не идет о сроке службы >10 лет. Инфа в ЕЕПРОМ слетает при обращении к ней (даже на чтение) при неустановившемся питании. Во флэше такое возможно только при записи. А методы борьбы со слетами одинаковы.
Go to the top of the page
 
+Quote Post
Евгений Германов...
сообщение Jul 8 2009, 14:48
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



Спасибо утешили angry.gif Что в лоб,что полбу.ПИК 18.
Go to the top of the page
 
+Quote Post
Евгений Германов...
сообщение Jul 9 2009, 12:07
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654



И еще вопросик -а хайтек формат long double поддерживает?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 19:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01382 секунд с 7
ELECTRONIX ©2004-2016