VxWorks文件系统及其格式化命令使用

VxWorks提供了多种文件系统,今天先了解一下都有啥,等到用的时候,再详细分析

  • VRFS
  • DosFS
  • HRFS
  • TRFS
  • RawFS
  • cdromFS
  • RomFS
  • TSFS
  • TrueFFS
  • NFS

VRFS

组件INCLUDE_VRFS,virtual root file system。这是一个虚拟的文件系统,仅是提供了一个POSIX风格的虚拟根目录"/"。在这个目录里,可以看到其它以"/"开始,且只包含一个"/"的设备

DosFS

组件INCLUDE_DOSFS,MS-DOS-compatible file system

文件名最长255个字符,不过路径名最长1024个字符,而Windows默认的最长路径应该只有260个字符

DosFS支持多种本地存储设备,例如硬盘、软盘、优盘等。系统启动时,自动调用xxxDevCreate()来创建XBD(extended block device)设备。然后用户可以使用xbdCreatePartition()分区,并使用dosfsDiskFormat()格式化

例如我当前的配置是:在VxWorks 6.9里包含Intel Serial/Parallel ATA驱动INCLUDE_DRV_STORAGE_PIIX,并在X86的Target里添加一个新的IDE硬盘

系统启动后,可以看到多了一个设备

 

使用xbdCreatePartition()进行分区

 

例如分为两个分区,各占50%

 

使用dosfsDiskFormat()将分区格式化为dosFS

使用dosFsShow()可以看到DosFS的卷配置

 

HRFS

组件INCLUDE_HRFS,Highly Reliable File System,针对实时系统而设计的一种事务性文件系统,具有容错能力,并兼容POSIX

 

使用方式类似于DosFS,先用xbdCreatePartition()进行分区,然后使用hrfsDiskFormat()格式化

 

使用hrfsChkDsk()可以看到文件系统的基本信息

 

TRFS

组件INCLUDE_XBD_TRANS,transaction-based reliable file system。为DosFS提供一个容错的IO层

 

创建流程: 先在XBD设备上创建TRFS,然后再创建DosFS

在TRFS上进行的文件操作,必须提交后,才能永久生效。而事务的提交是以整个分区为单位的,并不是提交某个文件。因此,提交时,整个分区的状态需要一致,不能有正在进行中的文件操作。有两个函数可以用于提交

 

注意:尽管usrTransCommitFd()的参数是TRFS上某个文件的fd,但提交的是整个分区的文件系统

TRFS的操作示例如下

 

RawFS

组件INCLUDE_RAWFS,raw file system,将整个分区当作一个文件来处理。新创建的XBD设备,默认就挂载RawFS,也不需要格式化。通过基本IO函数来操作即可

 

cdromFS

组件INCLUDE_CDROMFS,ISO 9660 standard file system,支持CD-ROMs, CD-Rs, CD-RWs

 

例如有张CD,可以在Windows里打开

 

把它放到VxWorks的Target后,VxWorks启动时自动加载cdromFS,然后可以使用open()、close()、read()、ioctl()、readdir()、stat()等函数来访问它。使用cdromFsVolConfigShow()可以查看cdrom的卷配置

 

RomFS

组件INCLUDE_ROMFS,Read-Only Memory File System,将任意文件存放到操作系统中,不需要本地存储设备或网络设备

使用流程是: 在Workbench中新建ROMFS File System Project

创建时选择Add reference to VIP project

 

或者创建之后,在工程上右击选择Add as Project Reference

 

在工程的Contents里可以添加文件、文件夹

 

然后直接build VIP,重启Target,就可以看到VxWorks里多出来的设备/romfs,里面就包含之前添加的文件

 

TSFS

组件INCLUDE_WDB_TSFS,Target Server File System,是的WDB的成员之一,在Target端创建一个叫做/tgtsvr的文件系统,但实际上操作的是Host端的文件

 

在Target Connection的属性中配置Target Server File System的Root路径,默认值是当前的workspace

 

启动VxWorks,连接Target Connection后,就可以在VxWorks中通过/tgtsvr访问Host的文件了。这个例子里,访问的是Host端Windows的C:/目录

 

TrueFFS

组件INCLUDE_TFFS,Flash File System。通过TrueFFS,可以使用DosFS或HRFS来访问Flash设备

NFS

Network File System,详见《Component之NFS》

  • 1
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值