OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 全面解析Windows Embedded CE文件系统

共18条 1/2 1 2 跳转至

全面解析Windows Embedded CE文件系统

菜鸟
2009-04-15 18:35:02    评分

 

随着Windows Embedded CE的发展,对象存储的作用越来越小,而大容量的永久存储设备被越来越多地采用。Windows Embedded CE文件系统是一种灵活的模块化设计,它允许自定义文件系统、筛选器和多种不同的块设备类型。一般来说,Windows Embedded CE基本提供了三种文件系统:基于ROM的文件系统、基于RAM的文件系统、FAT文件系统。

 


Windows Embedded CE下设备文件系统结构

实际上,文件系统和所有与文件相关的 API 都是通过FileSys.exe进程来管理的。这个模块实现了对象存储和存储管理器,并将所有文件系统统一到一个“\”下面的单个系统中。

FileSys.exe 由ROM文件系统、存储管理器、对象存储3个组件组成。

    ROM 文件系统可以防止程序或数据被任意更改。

    存储管理器是负责管理系统中的存储设备,以及用于访问它们的文件系统。

    对象存储包含 RAM 系统注册表、RAM 文件系统和属性数据库,算是一个内存堆。

FileSys.exe 从ROM文件系统内的默认注册表对注册表进行初始化,以便启动各种应用程序。从HKEY_LOCAL_MACHINE\Driver\BuiltIn项加载驱动程序,然后,内置到存储管理器向设备管理器通知系统注册,以便接收有关块驱动程序加载和卸载的通知。

 

 

Windows Embedded CE文件系统体系结构

FileSys,即“File System”单从名字可以看出它是一个文件系统,但它真正的范围要比它的名字广得多,不但包括文件系统,还包括存储对象的管理。

拿现在的CE 6.0举例,其对象存储系统有丰富的存储功能,提供各种文件系统的支持,包括FAT文件系统、RAM文件系统和其他CD等通用磁盘文件系统。

支持第三方定制的文件系统,支持与SQL-CE和SQL Server数据库的链接,有良好的安全特性,支持第三方程序对磁盘进行的加密。

 

其中,比较重要的是CE 6.0的FAT文件系统。它采用了Extended File Allocation Table File System (ExFAT),解决了大容量文件存储的限制问题。

为什么这么说呢?在WinCE 5.0中,对象存储最大可以达到256MB,单个文件不超过4GB,在CE6.0中存储的限制就解除了。

另外,使用了Win CE 6.0的设备与桌面PC机之间的文件传输更加方便快捷;而且,ExFAT还提供了对以前文件系统的支持。

ExFAT的基本特性如下:

    对象存储最大为32GB;

    突破单个文件夹存储1000个文件的限制;

    提升了存储速度;

    突破了单个文件不超过4GB的限制;

    提高了CE 6.0设备与未来桌面操作系统的互操作性;

    支持OEMs和ISVs定制的针对特殊设备的文件系统。

 

Windows Embedded CE文件系统体系结构是灵活的和可扩展的。不过,将Windows Embedded CE移植到目标平台上,必须为在平台上已建立的设备提供驱动程序。如键盘、显示器等,对操作系统都有一定的接口。

在Windows Embedded CE中应用程序通过文件系统里的特殊入口访问外围设备。WinCE中的文件系统代码包括那些识别特殊文件名并重定向IO操作到适当的流接口驱动程序的代码。



流接口驱动开发

流接口驱动程序是一般类型的设备驱动程序,它表现为在用户一级的动态链接库DLL,用来实现一组固定的函数称为流接口函数,这些流接口函数使得应用程序可以通过文件系统访问这些驱动程序。

流接口驱动程序的主要任务就是把外设的使用传递给应用程序,这是通过把设备表示为文件系统的一个特殊文件实现的。比如:对于串口1在用户级别的程序里面通常被描述为COM1。

 

不是所有文件系统驱动程序都使用了物理设备,即使使用,也可能没有使用分区驱动程序。因为文件系统将不需要知道数据是否来自磁盘上的分区、或者直接来自磁盘,所以,FSDMGR会对文件系统驱动程序进行包装,以便为驱动程序的高端或低端提供接口。这就提供了巨大的灵活性呢。

 

 




关键词: 全面     解析     Windows     Embedded     文件    

菜鸟
2009-04-17 19:30:59    评分
2楼
Windows Embedded CE是允许大家自己编写并注册一套文件系统的,只要接口符合Win32文件系统API就OK。

菜鸟
2009-04-17 20:09:25    评分
3楼
补充,将文件系统标记为隐藏可以防止它被任何标准的文件和文件夹枚举发现。

菜鸟
2009-04-18 11:02:56    评分
4楼
同意楼上,隐藏ROM文件系统将隐藏ROM文件系统数据文件,而且允许更新 ROM 中的所有文件。

菜鸟
2009-04-18 14:32:22    评分
5楼
Windows Embedded CE使用硬盘配置文件,则配置文件位于HKEY_LOCAL_MACHINE \ System \ StorageManager \ Profiles \ Hard Disk 下。

菜鸟
2009-04-18 14:46:34    评分
6楼
我觉得FAT文件系统使用的范围最广,能够应用在ATA设备、Flash存储设备、SRAM存储设备上呀。

菜鸟
2009-04-18 20:12:29    评分
7楼
fsdmgr.dll包含存储管理器的代码。PNPUnloadDelay是啥意思?

菜鸟
2009-04-20 20:41:59    评分
8楼
回答楼上,是指存储管理器在接收到即插即用设备的卸载通知后的延时时间。

菜鸟
2009-04-20 22:20:39    评分
9楼
其实,Windows Embedded CE的文件系统筛选器很有用,可以允许对文件访问进行某些特殊的处理,以便进行数据加密、压缩和使用统计数据进行监视。

菜鸟
2009-04-21 20:26:14    评分
10楼
基于 ARM 的设备模拟器便于配置、构建、测试操作系统映像。

共18条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]