Перейти к содержанию
    

Аппаратная коррекция ошибок FSMC

У stm32f2xx есть встроенный модуль коррекции ошибок для nand'а. Про него написано, что он определяет двойную ошибку и корректирует одинарную.

Кто-нибудь может подсказать как скорректировать одинарную ошибку. Или это все таки автоматически происходит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь может подсказать как скорректировать одинарную ошибку.

Руководство на МК может подсказать. Почитайте, там много интересного написано.

...These registers contain the current error correction code value computed by the ECC

computation modules of the FSMC controller (one module per NAND Flash memory bank).

When the CPU reads the data from a NAND Flash memory page at the correct address

(refer to Section 31.6.6: Error correction code computation ECC (NAND Flash)), the data

read from or written to the NAND Flash are processed automatically by ECC computation

module. At the end of X bytes read (according to the ECCPS field in the FSMC_PCRx

registers), the CPU must read the computed ECC value from the FSMC_ECCx registers,

and then verify whether these computed parity data are the same as the parity value

recorded in the spare area, to determine whether a page is valid, and, to correct it if

applicable...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Руководство на МК может подсказать. Почитайте, там много интересного написано.

 

Может Вы почитаете мои вопрос, прежде чем отвечать.

 

В приведенной Вами фразе не дается ответ на мои вопрос "как скорректировать?". " ... to determine whether a page is valid, and, to correct it if

applicable."

Изменено пользователем oman

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может Вы почитаете мои вопрос, прежде чем отвечать.

Да прочитал я вопрос.

Насколько я понимаю работу ECC, в случае одиночной ошибки код ECC содержит адрес перевёрнутого бита. То есть ошибка исправляется вручную элементарно. Если Вы посмотрите, как работает калькулятор ECC в этом МК, Вы увидите, что он не сможет исправить ошибку автоматически, так как факт ошибки можно установить только после обработки всей страницы, а информации, куда считаны данные из страницы, у калькулятора ECC нет.

Пардон за резкий ответ в начале. На Вам действительно будет не вредно почитать руководства, в том числе принцип работы ECC.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я понимаю работу ECC, в случае одиночной ошибки код ECC содержит адрес перевёрнутого бита.

Да действительно примерно так. Спасибо.

Нашел и an подтвердившийся это.

 

ps: честно говоря немного раздражает (может в виду непривычки), политика st, когда на многие подобные вопросы делаются отдельные an, которые еще не всегда легко найти, а то и получают только у дистрибьютора (на форме st один такой ответ видел). А в даташите ничего не сказано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...