testerplus (23.07.2010 22:51 - 22:54, просмотров: 170) ответил koyodza на Вы с "Доктором Т" случайно не знакомы?
"Да, лично я на АРМ использую именно CRC16 даже при хранении данных во флеши. Вас это удивляет?". Если честно, то удивляет. Серьезно. Всегда считал это хорошим тоном, но никогда в чужих исходниках не видел, чтобы для запси в eeprom/flash использовали
CRC16.
"Но даже простая сумма по модулю 65536 тоже даёт неплохой результат"
Сбиваются два бита в одним и том же разряде у разных слов и сумма компенсируется.
"Представить себе ситуацию, описанную Вами, у меня не получается. Записть происходит "поячеечно", и искажения при внешнем воздействии на этапе записи возможны только в текущей ячейке (разрядность зависит от МК, не от его разрядности, а от внутренней организации флеши). Кстати, время записи ячейки - микросекунды."
Помехи - помехами, а падение напряжения попортит несколько ячеек (логика еще работает, а напряжения для инжекции уже не хватает)
"Да, во время стирания (а это десятки мсек) возможно групповое искажение данных, но на то и контрольная сумма, чтобы искажения обнаруживать."
Совпадение контрольной суммы не гарантирует правильности данных.
"Про "вымерзание" ячеек говорить не будем, т.к. "вымерзание" возможно и тех ячеек, где лежит программа, а такие случаи мы не рассматриваем, "это пиздец, он не лечится"."
Он не лечится, но контроллер должен иметь средства блокировки. Но это уже из другой темы.
"Про "некоторых, которые так вообще без CRC пишут" не говорим - это их проблемы."
Нет, это наши проблемы. У меня домофон в подъезде "забыл" ключ. Я почти два часа на морозе стоял ждал хоть кого-то (самое хреновое время - позднее утро :)) Вызов "мастера" и перезапись ключа - все заработало.
"Чем Вам не понравились возражения по п.2 и 4"
Насчет объемов - соглашусь, тут я перекрохоборил.
А больше циклов - лучше чем меньше.
1) В чем именно "глупосли"? Хотя, ладно. А то еще один холивар будет.
2) Поясните примером (если можно, из жизни).
3) Банальный пример можно :)? Когда нужно менять EEPROM'ы: сохранил->заменил, сохранил->заменил. Но это шутка... Остальное я уже описал.
P.S. Ко мне можно на ты.