| 
		    
                    
  
2 系统设计实现 
  
根据上述原理,可完成软件设计,其基本框架如图4所示,分为六个主要部分。 
  
  
 
 
  
其中,CF卡驱动程序设计的关键是CF卡的存取操作函数所采用的命令码有些不同。另外,我们使用驱动程序对象来代表CF卡设备驱动程序。该驱动程序对象对于用户是部分不透明的,数据项包括读写函数的指针,这些函数由文件系统程序输出(包括两部分函数,用户可见API函数调用和用户不见驱动存取函数)。此对象的数据结构声明如下: 
  
typedef struct CF_XFILE_DRIVER 
{ 
BYTE driver_name; /*介质标示;CF卡、IDE硬盘、Flash卡、RAMDISK等,删除驱动的话,需要重新记录DRIVER号*/ 
…… /*IRP处理函数*/ 
} CF_XFILE_DRIVER; 
  
如果有多个CF卡,需要用另外一个特定的数据结构Next_Driver来把它们水平连接在一起。然后,用链表来管理这些数据结构,管理方式类似于WDM(Windows Driver Model)。 
  
3 测试分析 
  
经过调试运行,该文件系统性能良好。与我们之前已经移植过的Nucleus、μC/OS- II、UNIX的操作系统的文件系统相比,本文介绍的文件系统可移植性更强;除了文中着重介绍的CF卡,经过对底层驱动的简单修改就可以应用于其它存储介质如RAMdisk、IDE硬盘、Flash等(其中IDE硬盘和Flash也已经调试成功)。另外,本文介绍的文件系统对硬件平台的配置要求降低,并且对于文件操作的运行速度并未减慢。 
  
-- 
原文链接: http://www.ednchina.com/Article/html/2006-06/2006615122502.htm 
		    
                      
		      
		      
		   |