所需E币: 3
时间: 2020-1-15 13:46
大小: 68KB
NANDFlash的驱动程序设计NANDFlash的驱动程序设计摘要以三星公司K9F2808UOB为例,设计了NANDFlash与S3C2410的接口电路,介绍了NANDFlash在ARM嵌入式系统中的设计与实现方法,并在UBoot上进行了验证。所设计的驱动易于移植,可简化嵌入式系统开发。关键词ARM UBoot NANDFlash K9F2808UOB 驱动程序引言当前各类嵌入式系统开发设计中,存储模块设计是不可或缺的重要方面。NOR和NAND是目前市场上两种主要的非易失闪存技术。NORFlash存储器的容量较小、写入速度较慢,但因其随机读取速度快,因此在嵌入式系统中,常用于程序代码的存储。与NOR相比,NAND闪存的优点是容量大,但其速度较慢,因为它的I/O端口只有8或16个,要完成地址和数据的传输就必须让这些信号轮流传送。NAND型Flash具有极高的单元密度,容量可以比较大,价格相对便宜。本文以三星公司的K9F2808UOB芯片为例,介绍了NANDFlash的接口电路与驱动的设计方法。文中介绍了开发NANDFlash驱动基本原理,意在简化嵌入式系统开发过程。1 NANDFlash工作原理S3C2410板的NANDFlash支持由两部分组成:集成在S3C2410CPU上的NANDFlash控制器和NANDFlash存储芯片。要访问NANDFlash中的数据,必须通过NANDFlash控制器发送命令才能完成。所以,NANDFlash相当于S3C2410的一个外设,并不位于它的内存地址区。1.1 芯片内部存储布局及存储操作特点一片NANDFlash为一个设备,其数据存储分层为:1设备=4096块;1块=32页;1页=528字节=数据块大小(512字节)+OOB块大小(16字节)。在每一页中,最后16……