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控制寄存器部分。