oman 0 21 ноября, 2011 Опубликовано 21 ноября, 2011 · Жалоба У stm32f2xx есть встроенный модуль коррекции ошибок для nand'а. Про него написано, что он определяет двойную ошибку и корректирует одинарную. Кто-нибудь может подсказать как скорректировать одинарную ошибку. Или это все таки автоматически происходит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 22 ноября, 2011 Опубликовано 22 ноября, 2011 · Жалоба Кто-нибудь может подсказать как скорректировать одинарную ошибку. Руководство на МК может подсказать. Почитайте, там много интересного написано. ...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... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oman 0 23 ноября, 2011 Опубликовано 23 ноября, 2011 (изменено) · Жалоба Руководство на МК может подсказать. Почитайте, там много интересного написано. Может Вы почитаете мои вопрос, прежде чем отвечать. В приведенной Вами фразе не дается ответ на мои вопрос "как скорректировать?". " ... to determine whether a page is valid, and, to correct it if applicable." Изменено 23 ноября, 2011 пользователем oman Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 23 ноября, 2011 Опубликовано 23 ноября, 2011 · Жалоба Может Вы почитаете мои вопрос, прежде чем отвечать. Да прочитал я вопрос. Насколько я понимаю работу ECC, в случае одиночной ошибки код ECC содержит адрес перевёрнутого бита. То есть ошибка исправляется вручную элементарно. Если Вы посмотрите, как работает калькулятор ECC в этом МК, Вы увидите, что он не сможет исправить ошибку автоматически, так как факт ошибки можно установить только после обработки всей страницы, а информации, куда считаны данные из страницы, у калькулятора ECC нет. Пардон за резкий ответ в начале. На Вам действительно будет не вредно почитать руководства, в том числе принцип работы ECC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oman 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Насколько я понимаю работу ECC, в случае одиночной ошибки код ECC содержит адрес перевёрнутого бита. Да действительно примерно так. Спасибо. Нашел и an подтвердившийся это. ps: честно говоря немного раздражает (может в виду непривычки), политика st, когда на многие подобные вопросы делаются отдельные an, которые еще не всегда легко найти, а то и получают только у дистрибьютора (на форме st один такой ответ видел). А в даташите ничего не сказано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться