16+
Понедельник
23 апреля
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Николай Коровин  (11.01.2018 19:26 - 11.01.2018 19:54) , в ответ на В оживление темы про сбоеустойчивое хранение данных в EEPROM. Теперь на очереди FRAM. автор: 1111111
Ну как же. Предполагаем наихудший случай: борнуться может с записью случайного значения. Делаем циклическую запись (сначала записали новое и оставили старое, потом затираем старое, когда дойдёт очередь). Делаем журнал (ой прям ехт4фс 
йанимагу как горжуся лол). В нём три копии адреса. После записи нового значения обновляем последовательно все три. При стартапе смотрим в журнал, сравниваем все три. В какой бы момент ни прервалась запись, можно понять, в какой именно это произошло и что чем в тот момент перезаписывали, а значит -- найти адрес свежих данных. Сча распишу логику. Предполагается, что при старте тоже могут рубануть внезапно. A, B, C -- значения, отстоящие на один размер структуры. X, Y -- значения, не похожие ни на что. AAA -- всё в порядке :) Теоретически, последнюю можно рефрешнуть, но не уверен, что есть смысл. XAA -- правильный адрес B, его надо записать последовательно в 0, 1 и 2 ячейки. BAA -- то же самое. Освежить тоже не помешает. BBA -- опять же, B правильный, освежить можно со второго B. BXA -- та же реакция. BBX -- Кэп в помощь. CBX -- недописали последнюю, неустойчивое чтение, и не заметили (ибо прочиталось BBB). Правильный вариант C. Сначала перезаписать X значением B, потом с самого начала записать CCC. Примерно как-то так. Мог и наврать, но логика такая. Если может при отрубе недозаписаться куча ячеек, то нужно вставлять задержки :( Естественно, только в трёх местах -- перед каждой копией журнала.
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII