NandFlash控制器
本文以MT29F4G08ABADA 型号为例
MT29F4G08ABADA容量为4Gbit
1page=(2K+64)byte
1block=(2K+64)64page=(128K+4K)byte
1plane=(128K+4K)2048block=2112Mbit
1device=2112Mbit2
地址序列如下
CAx为列地址; PAx =页地址; BAx = block地址
命令,地址,数据都通过8个IO口输入/输出。写入命令、数据、地址时,都需要将WE#、CE#信号同时拉低。数据在WE#信号的上升沿被NAND Flash锁存。命令锁存信号CLE和地址锁存信号ALE用于分辨、锁存命令或地址。MT89F4G08ABADA需要34位地址。读写命令需要发送5个地址序列。具体命令可以参考MT29F4G08ABADA数据手册。接下来将会对nand flash的ECC校验做个简要讲解,NandFlash的ECC校验分为软件ECC校验和硬件ECC校验,由于该芯片自带OndieECC校验,因此我们对ondie ecc校验做个代码分析,以xilinx uboot为例,在上电过程中,完成对nandflash的初始化和Ondie ecc的校验。
Xilinx的启动主要为一下几个步骤:
1.根据器件的MIO[2…8]确定从那个设备启动
2.加载FSBL,FSBL主要完成以下几件事:
1.初始化PS
2.将bitstream写入PL
3.跳转到SSBL&