- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Platform Builder实践之文件系统2004-10-26 00:05作者:付林林出处:天极网责任编辑:方舟 随着CE的发展,对象存储(Object Store)的作用越来越小,而大容量的永久存储设备被越来越多地采用,这一章将针对CE的文件系统阐述相关的知识,让PB开发者除了能够加入对永久存储设备的支持,还能做一些优化。记得在以前讲过的文章中提到了如何在PB中向定制的内核加入对硬盘、光驱的支持(包括ATA设备驱动和各种文件系统),在这里就不再重复了。 CE提供了三种文件系统,基于ROM的文件系统、基于RAM的文件系统、FAT文件系统。FAT文件系统使用的范围最广,能够应用在ATA设备、Flash存储设备、SRAM存储设备上,另外CE还允许开发者自己编写并注册一套文件系统,只要接口符合Win32文件系统API即可。 CD/UDFS 文件系统 这两种文件系统被用于读取CD、DVD等。除了通过在PB的“catalog”中加入这个文件系统外,还可以在PB中添加SYSGEN_UDFS环境变量来实现。CDFS和UDFS在注册表中的注册信息如下:; Default values for udfs. These can be overridden per profile.[HKEY_LOCAL_MACHINE\System\StorageManager\UDFS]FriendlyName=CDFS/UDFS FileSystemDll=udfs.dllPaging=dword:1[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\CDProfile]Name=IDE CDROM/DVD DriveFolder=CDROM DriveDefaultFileSystem=UDFSPartitionDriver= 上面注册表信息在文件common.reg中。注册表数据是从上至下有效,也就是说下面的数据可以覆盖上面的数据。从注册表数据可以看出udfs.dll包含了UDFS文件系统的驱动程序,CDROM的驱动器名为”CDROM Drive”,采用的文件系统为UDFS,没有分区驱动程序。如果我们要访问CDROM的目录或者文件就要在名字前加”\CDROM Driver\”。注意,可能你的common.reg文件中的数据在”Flolder”处不同于上面,比如为Folder=LOC_STORE_CD_FOLDER,那么你可以直接按照上面数据更改,或者在*.str文件中查找LOC_STORE_CD_FOLDER,找到这个ID对应的字符串再更改(查找到的文件可能很多,应查找以本国家码为目录名的目录)。 FAT文件系统 除了安全性外,FAT文件系统是一个很优秀的文件系统,很适合在嵌入式设备中使用。CE也把FAT作为外部存储设备的通用文件系统。添加FAT文件系统的环境变量为SYSGEN_FATFS。随便列出CE提供的操作FAT文件系统的函数: DefragVolume 碎块整理,在碎块整理前先进行磁盘扫描。 DefragVolumeUI 同上,但是包含一个选项对话框。 FormatVolume 按要求格式化分区。 FormatVolumeUI 同上,但是包含一个操作对话框。 ScanVolume 扫描一个分区的FAT和目录。 ScanVolumeUI 同上,但是包含一个操作对话框。 FAT文件系统在注册表中的注册信息如下:; Default values for fatfs. These can be overridden per profile[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]FriendlyName=FAT FileSystemDll=fatfsd.dllFlags=dwordaging=dword:1 CacheSize=dword:0 从注册表数据可以看出fatfsd.dll包含了FAT文件系统的驱动程序。对”Flags”值的描述如下:标志值描述FATFS_UPDATE_ACCESS0新访问时间FATFS_DISABLE_AUTOSCAN0能自动调用ScanVolumeFATFS_VERIFY_WRITES0验所有写操作FATFS_ENABLE_BACKUP_FAT0份FAT表FATFS_FORCE_WRITETHROUGH0系统可以直接将任何缓冲区中的数据写到磁盘上,这样系统将加快写数据到磁盘的速度FATFS_DISABLE_AUTOFORMAT0止自动格式化未格式化的分区FATFS_DISABLE_
文档评论(0)