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

 
 
> Подскажите по флеше, MSP430F169
aag
сообщение Mar 13 2008, 11:21
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 8-04-06
Из: Новосибирск
Пользователь №: 15 939



Потребовалось запоминать несколько байт при выключеном питании.

При беглом осмотре понял две вещи. 1 - информацию надо дублировать из-за быстрой деградации флеши. 2 - при появлении "битых" данных, их нужно исправлять.

Подскажите советом или простеньким примером, как наиболее оптимально проверять данные на битость и как исправлять поврежденные данные?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Mar 13 2008, 19:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Кольцевая запись во флеш-память это один из самых распространенных методов продления ее ресурса. Однако в дополнение к нему неплохо бы предусмотреть способ записи только в аварийной ситуации, когда пропадает питание или требуется перезагрузка. А уж для трех-то слов и в ОЗУ должно найтись место. ОЗУ не изнашивается так, как Flash.
ИМХО внутренняя Flash вообще не предназначена для журналирования. В INFO принято хранить какие-нибудь настроечные/калибровочные/пользовательские данные, которые не меняются столь часто. А для журналирования более подходит внешняя DataFlash, EEPROM, SD/MMC и т.д. с той же самый колцевой записью данных. Но это именно для журнала событий, который имеет большой размер и должен копиться продолжительное время. Например, в течение 2-3 лет, пока прибор не будет подвергнут очередной поверке. Если же требуется сохранять часто, понемногу и не нужно копить эти данные, то предпочтительнее реализовать отдельную цепь, которая будет сигнализировать об аварийной ситуации или использовать энергонезависимое ОЗУ (часто в RTC имеется место) или FRAM какую-нибудь. И производить сохранение данных, только в аварийном режиме. Кстати, DataFlash для этого подходит весьма неплохо, т.к. имеет свой собственный буфер. А запись из буфера во Flash одной командой выполняется.
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Mar 13 2008, 22:22
Сообщение #3


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(rezident @ Mar 13 2008, 22:19) *
ИМХО внутренняя Flash вообще не предназначена для журналирования.

ИМХО как раз для этого она и предназначена ибо зачем к примеру в ATMEGA128 столько памяти? Аж 128 кБайт... Никогда не мог занять больше 12 как бы не старался.. А всю оставшуюся память использую всегда для ведения журнала событий... Очень удобно.. За 8 мСек пишется целая страница, а в EEPROM за это же время пишется только 1 байт.. Когда журнал заполняется (месяца за 4)"сливаю" его на PC. И так можно повторять 10 000 раз, т.е. 3 000 лет !!!!


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 07:30
Рейтинг@Mail.ru


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