NANDFLASH芯片是SAMSUNG K9K8G08 2k的page,1G字节的空间。
硬件平台是AT91C9200.
简要说明一下思路,1种首要的方案是更新linux内核,使其支持最新的MTD驱动,最新的MTD驱动支持2K,page的NANDFLASH。
另一种思路就是在现有的内核下,单独完成NANDFLASH的驱动编程。使linux能够识别。
当然后一种后一种方式,系统改动较少,适合于开发周期短的项目。
简单说明该驱动的结构:
驱动给应用层提供,write,read,ioctl接口。通过ioctl接口可以控制是对flash进行块擦除,写页地址设置,读页地址设置。然后利用write和read函数将需要的数据编程或读取。
该驱动实现了简单的坏块管理,将初始坏块标记在坏块管理表中,应用程序无法直接对其进行编程操作。
下一步打算完善坏块管理,和进一步增加ECC效验功能。
想进一步了解的朋友们QQ联系:81423674
阅读(941) | 评论(0) | 转发(0) |