论文部分内容阅读
随着嵌入式系统领域不断增长的应用需求,嵌入式系统的复杂性日益提高。闪存设备作为嵌入式系统中最常见的非易失数据存储器,其管理和访问技术对整个系统的性能和可移植性都有较大的影响。在嵌入式系统中,闪存设备的管理技术通过闪存设备I/O软件来实现,目前常见嵌入式系统采用的闪存管理实现技术在可移植性、易用性上都存在不足。因此,如何设计一种统一、高效且可移植性强的闪存管理技术实现方案成为了嵌入式应用领域的迫切需要。 本文首先从理论上分析了嵌入式系统中闪存设备I/O软件设计思想及基本原则。在对操作系统软件设计中策略与机制分离原则的应用分析基础上,提出了闪存设备管理技术分层实现的软件体系结构,从而将闪存I/O软件由底向上划分成了硬件驱动层、原始设备层及设备层,并对其在用户空间和内核空间实现方案进行了优劣比较。然后,深入剖析嵌入式Linux I/O设备管理机制,结合分层体系结构设计了一种模块性、移植性更强且更易使用的闪存设备I/O软件实现方案,对该实现方案中的关键技术问题,如阻塞型I/O、读写请求处理函数设计等进行分析,并提出了相应的解决办法。最后,选择基于PowerPC860T开发板的嵌入式Linux为目标系统平台,对闪存设备I/O软件设计方案进行了具体开发和实现。 I/O软件可移植性的高低可以从设各无关及相关代码的比例进行衡量,在本实现方案中,设备相关代码仅占代码总量的24.1%,说明该方案具有较好的可移植性。对实现方案的数据吞吐率及文件操作时间代价等典型性能指标进行了测试。结果表明:本文提出的设计实现方案不仅能够为应用程序提供统一、易用的闪存使用接口,同时还具有较强的模块性,易于在不同类型闪存芯片上进行移植。