問題描述:
STM32F4 是否可支援到 4 BIT ECC NAND FLASH.
有測試過 4GBit 的nand flash 一開始還可以擦寫數十次並建立檔案系統,後來就整個讀不到檔案系統,持續格式化中!
參考ST官方 RM0090 rev13此份文檔的1589頁中有提到
The error correc
tion code (ECC) algorithm implemented in the FSMC can perform 1-bit error
correction and 2-bit error detection per 256, 512, 1 024, 2 048, 4 096 or 8 192 bytes read
from or written to NAND Flash memory. It is based on the Hamming coding algorithm and
consists in calculating the row and column parity.
這是否代表最多只支援到2bit ecc處理??
請高手指點!
感謝!
以下為解法:
經由最近持續k nand flash相關技術 以及和cypress & Macronix & Avnet FAE 得知以下結果第一點:主要是因為1 bit ecc和4 bit ecc演算法不同, 只要選錯演算法,檔案系統內任何bit error都會造成錯誤以致系統認不到的問題.有機率一開始可以格式化並讀寫資料,但是多做幾次後可能就讀不到原先規劃的檔案系統,但是nandflash本身的參數還是可讀如id 以及序號等等.
[size=13.3333px]第二點:STM32F4 只支援1bit ecc 所以要在此平台上用4bit ecc nandflash 需另外寫演算法.
[size=13.3333px]第三點:[size=13.3333px]4Gb以上的nand falsh 大部分都做4 bit or 8 bit ecc.
[size=13.3333px]第四點:就了解Toshiba 有出一款內置H/W ECC的nandflash 叫做BENAND,也許mcu側可無視ecc, 直接做處理.
一周热门 更多>