This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x FLASH Samsung K9K8G08U0D 置換成 K9K8G08U0E 之後出現 ECC0: uncorrectable. [WinCE]

Other Parts Discussed in Thread: AM3354

在WinCE上,原本使用Samsung K9K8G08U0D  nand flash是正常的.

但因0D 已經EOL了.

所以改採用 Samsung K9K8G08U0E  nand flash

卻產生ecc0: uncorrectable錯誤訊息.

在產生錯誤訊息下去做fmd_readsector dump出來的資料卻是對的.

ecc type 為 ECC BCH8BIT_ELM

請問有解決方案嗎?

  • 能否试试,使用nand erase.chip等类似全部擦出的命令,先把整个nand的擦一遍,再写入。还会遇到这个问题吗?

  • 每次寫入時都有用FMD_EraseBlocks()

    比較特別的是這些CODE在0D 上是正常的,

    換到0E之後就會出現.ECC fail.

    如果我把ecc_type 轉成非ELM,而是 BCH8BIT,BCH4BIT..等等...都是可以燒錄成功的.

    雖然最後系統開起來之後會在Format flash時當掉.

  • 刚查了下datasheet,这两个片子是完全一样的,只是制作工艺上面有差别。D是42nm,E是21nm。你用的是一样的image,一样的操作?

    WinCE不太熟悉,TI现在用第三方Adeno来支持,所以只能探讨一下思路了。目前你能看到ECC fail还是说明启动起来了,到一定的阶段了,是吧。那刚开始启动的那块代码用的是什么样的ECC校验呢?

  • BCH_8BIT_ELM

    是使用TI AM3354

    有把寫入的資料讀出來.

    資料都是正確的,但還是出現

    ecc0: uncorrectable

    D和E,program 速度上有點不同0E比較慢

    NOP 也由4 ->改成 1

    我本來以為要改timming

    但在沒有改的情況下,dump出自己write的值.

    卻都有正常寫入,讀出也正常.