@lacredin
Программист

Способы защиты от потерь данных при записи на flash?

Доброго времени суток.
Разработка под микроконтроллер stm32f4.
В проекте очень много приходится работать с flash памятью, записывая туда маленькие порции данных. Что бы защитить систему от потери данных при прерывании процесса записи в память, скажем при выключении микроконтроллера, первое что приходит на ум - это дублировать страницы памяти flash и выставлять им флаги текущей рабочей версии, но копирование всей страницы при каждой операции записи выглядит не привлекательно, так как занимает довольно много времени.
Подскажите есть ли какие-то алгоритмы защиты от потери данных для таких случаев.
  • Вопрос задан
  • 166 просмотров
Решения вопроса 1
@iv_k
если не хотите ФС - дублируйте сектора, ставьте им счетчики записи и CRC. если не сошелся CRC - берем другой сектор, если оба валидные - берем тот у которого счетчик больше.
Если надо часто писать какие-то настройки - советую задуматься о внешней FRAM
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
iDoka
@iDoka
HW Design Engineer
Поскольку вас больше интересует проблема атомарности записи, нежели целостность,
я бы на вашем месте смотрел в сторону JFFS2
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы