存储 频道

专家博客:NAND Flash结构与驱动分析

  三、运行Operating

  根据函数的不同,操作部分会不一样,但是主要的是对NAND FLASH DATA (NFDATA) REGISTER的操作,或写(编程)或者读。通过读或写函数的参数来返回或传递读出的值或写入的值。写得操作通常比较麻烦,他要将写到flash的内容重新读出后进行ECC校验,如果数据正确则在重新真正的写(编程),如果错误,则将数据写入flash的另一个块。读和写都是以页为单位进行操作。而擦除则以块为单位,三个周期发送完地址。擦除完毕后同样需要进行检察以确定是否擦除成功。

  四、取消选择NAND设备(De-select the NAND device)

  实现代码:

  #define nand_deselect() this->hwcontrol(NAND_CTL_CLRNCE);

  反选flash吧,不知这样叫正确与否,跟select the NAND device相反,亦即使用完后将使能flash位清0,代码是NFCONF位于0x4e00_0000的位置(NFCONF |= NFCONF_nFCE_HIGH;),有兴趣的可以读读代码,看看这是怎么实现的,我的感觉就是关于寄存器的清置读起来都比较晕。

  更多可访问IXPUB专家云杉上的蝴蝶博客地址:http://www.ixpub.net/home.php?mod=space&uid=10821989&do=blog&id=409482

0
相关文章