摘要:
Flash存储器作为一类非易失性存储器,具有功耗低,读写快,容量大,成本低,抗震性好等优点而被广泛应用于各种嵌入式系统,它包括Flash存储芯片如NOR Flash,NAND Flash,以及一些Flash存储卡如CF,MMC,SD卡等.本论文主要研究与实现NOR Flash,NAND Flash和MMC卡在一款32位微处理器平台上的应用与管理.
本论文基于嵌入式Linux平台,设计并实现了以Unity805+微处理器为核心的Flash存储系统,包括硬件接口设计,驱动和Flash文件系统的设计与实现,其中Unity805+是我国具有完全自主知识产权的基于UniCore架构的32位移动终端应用处理器.本文首先给出了嵌入式Linux下Flash存储系统模型,它包括Linux虚拟文件系统,Flash文件系统和Linux块设备驱动,并对模型的各个层次进行了分析,其中重点分析了Linux虚拟文件系统的结构与工作原理;其次,结合Unity805+的多媒体卡控制器,外部存储接口控制器的特点分别设计并实现了MMC卡,NAND Flash和NOR Flash驱动,包括读,写和擦除操作等,实现相应的Linux块设备驱动和Linux内存技术设备驱动接口并向系统注册;最后,在设备驱动的基础上,根据Flash存储器的擦除后才能写入和擦除次数有限等存储特性,通过对NAND Flash专用的YAFFS2文件系统进行改进,使之能应用于多种Flash存储器,主要从文件存储方式,文件系统初始化,垃圾回收,掉电保护等方面进行改进,并实现相应的文件系统格式化工具.
本文所实现的Flash存储系统在基于嵌入式Linux和Unity805+微处理器平台的多媒体播放器上进行了功能验证,Flash上文件的读写速度能达到播放器的要求,系统性能稳定可靠.
展开