|
Доступ к flash памяти STM32 из программы, Дописать незаписанный байт в слово |
|
|
|
Feb 9 2017, 11:38
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Вот что написано в datasheet Reference manual на упомянутый выше STM32L0x1 Цитата ECC (Error Correction Code): 6 bits stored for every word to recognize and correct just one error Круто, исправляет одиночную ошибку в слове! Похоже, ECC есть в МК с EEPROM памятью. Флэш тоже корректируется, а то.
|
|
|
|
|
Feb 9 2017, 12:21
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (scifi @ Feb 9 2017, 13:01)  Код ECC должен защищать блок размером побольше, чем 2 байта, иначе смысла нет. Почему смысла нет? QUOTE (scifi @ Feb 9 2017, 13:01)  Не существует такой код ECC, у которого при обнулении любого 16-битного слова в коде биты только сбрасываются и не устанавливаются. Так что не получится. Недопонял. У БЧХ нулевое слово дает нулевые проверочные биты.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Feb 9 2017, 12:49
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Сергей Борщ @ Feb 9 2017, 15:21)  Почему смысла нет? С точки зрения расхода памяти эффективнее защищать более крупные блоки. Хотя, как отметил ViKo, у STM32L0x1 ECC защищает 32-битные слова, так что я был неправ. Цитата(Сергей Борщ @ Feb 9 2017, 15:21)  Недопонял. У БЧХ нулевое слово дает нулевые проверочные биты. Имелся в виду случай, когда размер защищённого блока больше, чем гранулярность операции записи.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|