Comments 4
А почему бы не сделать так: [запись данных] [пауза] [запись контрольного байта «0»] — и всё?
(Недоумение вызывает необходимость записи контрольной суммы).
(Недоумение вызывает необходимость записи контрольной суммы).
Контрольная сумма нужна, чтобы иметь возможность отличить данные от мусора. А мусор там может быть по разным причинам
— сектор не до конца стерт
— флэш выработала свой ресурс и заряд с плавающего затвора просто убежал
— из космоса прилетел бозон Хиггса и все испортил
— сектор не до конца стерт
— флэш выработала свой ресурс и заряд с плавающего затвора просто убежал
— из космоса прилетел бозон Хиггса и все испортил
Контрольная сумма нужна. Рано или поздно у флеша исчерпается ресурс, и тогда появятся битые ячейки, которые и выявит контрольная сумма. У встроенного в контроллер флеша ресурс очень маленький, поскольку не предполагается интенсивная работа с ним. Записывать настройки раз в сутки — ресурса хватит надолго, а если делать это каждую секунду то проблемы появятся довольно быстро.
Ну и в любом случае контрольная сумма не помешает. Хотя я делал и по другому — писал блок, проверял записанное и в конце ставил флажок — все инверсии стертого значения, но этот метод хуже с точки зрения отслеживания деградации данных после записи.
Sign up to leave a comment.
Надежное хранение и обновление данных во флэш памяти микроконтроллеров STM32 и MSP430