Nandflash驅動移植系列文章導航:
Nandflash 驅動移植 (一)
Nandflash 驅動移植 (二)
Nandflash 驅動移植 (三)
Nandflash 驅動移植 (四)
Nandflash 驅動移植 (五)
Nandflash 驅動移植 (六)
一共六篇
前段時間,研究了一下4G的Nandflash驅動。手頭上只有飛淩6410BSP內建的Nandflash驅動,該驅動不支援K9GAG08U0D(2G)和K9LBG08U0D(4G)的Nandflash。所以就要先把這個Nandflash驅動搞成支援K9GAG08U0D(2G)的。
接下來要弄的就是支援K9LBG08U0D(4G)的Nandflash。由於TE6410板子用的是K9GAG08U0D(2G)的Nandflash,所以先移植到支援這個Nandflash的,再進一步修改成支援K9LBG08U0D的。
移植之前,先讓我們來對比下K9GAG08U0D(2G)和K9LBG08U0D(4G)兩個Nandflash:
K9GAG08U0D(2G):
• Organization
- Memory Cell Array : (2G + 109M) x 8bit
- Data Register : (4K + 218) x 8bit
• Automatic Program and Erase
- Page Program : (4K + 218)Byte
- Block Erase : (512K + 27.25K)Byte
• Page Read Operation
- Page Size : (4K + 218)Byte
- Random Read : 60 µ s(Max.)
- Serial Access : 30ns(Min.)
• Memory Cell : 2bit / Memory Cell
K9LBG08U0D(4G):
Organization
- Memory Cell Array : (2G + 109M) x 8bit(文檔這裡是寫的2G,也不知道是不是三星那個寫文檔的人搞錯了,明明是4G,怎麼寫的是2G)
- Data Register : (4K + 218) x 8bit
• Automatic Program and Erase
- Page Program : (4K + 218)Byte
- Block Erase : (512K + 27.25K)Byte
• Page Read Operation
- Page Size : (4K + 218)Byte
- Random Read : 60 µ s(Max.)
- Serial Access : 30ns(Min.)
*K9MDG08U5D: 50ns(Min.)
• Memory Cell : 2bit / Memory Cell
兩個Nandflash都是4K 頁 218備用區的,這樣就更好辦了。而且這兩個都可以直接使用8bit的ECC,剛好6410最大就能支援到8bit的ECC校正。
咱們再來看一下這個8BIT 的ECC校正流程:
現在暫時到這裡,下一篇將介紹6410中的NFCON控制寄存器部分。