论文部分内容阅读
设备驱动是嵌入式操作系统中的重要组成部分,其中块设备驱动又是嵌入式设备驱动的重要组成,因为系统程序通常存放在块设备中,其运行效率对系统的整体性能有着很大的影响。本文介绍了嵌入式Linux中块设备的基本概念,设计并实现了以Intel XScale系列处理器PXA255为核心,采用嵌入式Linux操作系统的个人移动终端产品中的几类通用块设备驱动,包括RAM设备、基于Flash memory的MTD(Memory Technology Device)设备以及MMC(MultiMediaCard)存储设备等驱动。本文首先介绍了RAM作为块设备在系统中的实现过程以及其挂接EXT2文件系统的方法。接着详细分析了一种新的基于Flash memory而设计的块设备- MTD设备的实现原理,通过为Flash设备抽象定义共同的属性和操作接口函数实现了Flash设备更高效的读写特性和更好的支持。当前的Flash memory主要有两种形式:NOR Flash和NAND Flash,其中NAND Flash有高容量、低成本的特点,但其相对复杂的接口给其应用带来了很大难度。本文结合业界不同方案,设计并实现了不增加任何硬件成本,使用GPIO来控制NAND Flash的方法,并在其上加载了目前非常流行的JFFS2文件系统。同时,为了提高系统工作效率,本文设计并实现了在NAND Flash上同时挂接JFFS2文件系统和最新的YAFFS文件系统的方案,并且进行了数据测量和功能验证。最后,针对于目前个人移动终端产品通常支持移动存储设备的现状,本文介绍了在系统中实现MMC设备功能的软件方案。目前,本文所描述的各项实现工作都已经完成,并且已经在系统上稳定运行。基于本课题的个人移动终端产品也已经上市,用户反应良好。