当前位置:网站首页 > Vue.js开发 > 正文

redhat9(Redhat9.0默认的文件系统类型为)



一、     TFFS文件系统结构简介

dosFS--> core layer

                translation layer

                MTD layer

                Socket layer --> FLASH memory           

                       图 1. tffs 结构层布局

核心层(Core layer):核心层主要起相互连接其他几层的功能。同时它也可以进行碎片回收、定时器和其他系统资源的维护。通常WindRiver公司将这部分内容以二进制文件提供。

翻译层主要实现TrueFFS和dosFs之间的高级交互功能。它也包含了控制flash映射到块、wear-leveling、碎片回收和数据完整性所需的智能化处理功能。目前有三种不同的翻译层模块可供选择。选择哪一种层要看你所用的flash介质是采用NOR-based, 还是NAND- based, 或者SSFDC-based技术而定。

  Socket层则是提供TrueFFS和板卡硬件(如flash卡)的接口服务。其名字来源于用户可以插入flash卡的物理插槽。用来向系统注册socket设备,检测设备拔插,硬件写保护等。后面将详细讲解它的功能。

  MTD层(Memory Technology Drivers)功能主要是实现对具体的flash进行读、写、擦、ID识别等驱动,并设置与 flash密切相关的一些参数。TrueFFS已经包含了支持Intel,AMD以及samsung部分flash芯片的MTD层驱动。新的芯片需要新的 MTD支持,你可以使用一个标准的接口来加入这些驱动。

  以上四部分,我们通常要的工作就是后两层。

  当在VxWorks下配置TrueFFS时,你必须为每一层至少包含一个软件模块。

二、     MX29LV160BT芯片上建立TrueFFS文件系统

1、配置相关文件

在此,我以Nor Flash MX29LV160BT为例,开发工具为Tornado2.2 for PPC。要在VxWorks映像中包含 TrueFFS文件系统,首先必须在config.h文件中定义INCLUDE_TFFS。这使得VxWorks的初始化代码调用tffsDrv()来创建管理TrueFFS所需的结构和全局变量,并为所有挂接了的flash设备注册socket组件驱动。在链接的时候,通过解析与tffsDrv()相关联的符号(symbols)可以将TrueFFS所必需的软件模块链接到VxWorks映象中。

为了支持TrueFFS,每一个BSP目录下都必须包含一个sysTffs.c文件。它将TrueFFS所有的层(翻译层,socket层和MTD 层)链接到一起并和VxWorks绑定。因此,我必须编辑这个文件并决定哪一种MTD和翻译层模块应该包含到TrueFFS中。即:

其他无关的MTD driver包含头都#undef掉,同时定义Flash在系统中的基地址和大小。另外,还必须编辑sysLib.c中的 sysPhysMemDesc[ ]数组,将Flash基地址和大小加入到MMU中,以供将来访问Flash,否则访问Flash会失败。如果BSP目录下没有sysTffs.c文件,那么我们可以从其他BSP目录下拷贝一个即可,然后做上述修改,其他的内容基本可以不用修改。

接下来需要修改tffsConfig.c文件,为了方便管理,通常我们将src/drv/tffs/目录下该文件拷贝到我们BSP目录下,然后再做出修改。在MTDidentifyRoutine mtdTable[]表中加入如下语句:

2、MTD驱动简介

    做了上述配置后,进入VxWorks操作系统后,我们在shell上利用tffsShow工具来显示flash的信息。TffsShow函数最终会调用 MTD驱动中的mx29lvMtdIdentiy( )函数,在mx29lvMtdIdentiy ( )函数主要是通过读取MX29LV160BT芯片的设备和厂商ID来识别它,然后对FLFlash结构成员进行初始化,最主要的几个参数是:
type
     Flash内存的JEDEC ID号。










erasableBlockSize

         tffsDrvCreate()

               |

               -----> xMountVolume()

                                  |

                                  -----> xMount()

                                                  |

                                                  -----> xIdentifyFlash()

                                                                      |

                                                                      -----> aaaIdentify()

                                                                                 bbbIdentify()

                                                                                 cccIdentify()   

                      图 2. tffsDrvCreate()函数调用

三、     建立TFFS设备

1、挂接设备名






MTD驱动调试成功后,我们就可以给flash设备挂接上dos设备名,如下操作:
格式化:
è     tffsDevFormat
value = 1
è     usrTffsConfig 0,0,”/tffs0”
value = 0
然后通过devs来查看挂接的设备名。
è     devs
drv name                
   0 /null               
   1 /tyCo/0             
   1 /tyCo/1             
   5 host:               
   6 /pty/rlogin.S       
   7 /pty/rlogin.M       
   3 /tffs0/             
   8 /vio                
value = 25 = 0x19
看到/tffs0/说明挂接设备已经成功,接下来就可以利用dosFs文件系统相关命令来操作flash了。如,ls、copy等。

2、从Flash中启动并下载VxWorks映像
     要从flash中下载VxWorks映像,首先需要把VxWorks映像拷贝到flash中,在shell中的操作命令为copy “VxWorks”,”/tffs0/VxWorks”,然后修改config.h文件中引导行,如下:
#define DEFAULT_BOOT_LINE /
"tffs=0,0(0,0)host:/tffs0/VxWorks h=192.168.0.153 e=192.168.0.154 u=target pw=target o=cpm"
修改完后,重新编译生成bootrom_uncmp.bin,并把它烧写到flash中(注意:该flash与上面建立TFFS文件系统的flash不一样,它并没有建立文件系统)。然后重新启动,即可看到如下启动画面:
boot device           : tffs=0,0
unit number           : 0
processor number      : 0
host name             : host
file name             : /tffs0/VxWorks
inet on ethernet (e) : 192.168.0.154
host inet (h)         : 192.168.0.153
user (u)              : target
ftp password (pw)     : target
flags (f)             : 0x0
other (o)             : cpm
Attaching to TFFS... done.
Loading /tffs0/VxWorks...
Starting at 0x10000...

Development System
         VxWorks version 5.5.1
         KERNEL: WIND version 2.6
         Copyright Wind River Systems, Inc., 1984-2003
     CPU: Motorola ADS - PowerPC 860.   Processor #0.
     Memory Size: 0x.   BSP version 1.2/5.
     WDB Comm Type: WDB_COMM_END
                  WDB: Ready.

到此,说明引导成功。flash整个TFFS文件系统就已经建立成功。

四、     结论
     VxWorks操作系统中支持TFFS文件系统,我们将VxWorks映像作为文件放到flash上,这就有利于开发者和用户更新应用程序而不需要影响bootrom,直接更新VxWorks映像或者将应用程序直接copy到flash中,然后装载到RAM中运行。


























































































































































到此这篇redhat9(Redhat9.0默认的文件系统类型为)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pcie4.0能插pcie3.0么(硬盘pcie4.0能插pcie3.0么)2026-01-17 16:36:06
  • js深拷贝方法(js深拷贝json parse)2026-01-17 16:36:06
  • pcie5.0电源线(pcie5.0电源线上的600w什么意思)2026-01-17 16:36:06
  • vue 安装(vue安装教程)2026-01-17 16:36:06
  • js深拷贝与浅拷贝的区别(js深拷贝和浅拷贝如何实现)2026-01-17 16:36:06
  • vue2官方文档(vue2官方文档api)2026-01-17 16:36:06
  • vmware密钥能用几次(vmware9.0密钥)2026-01-17 16:36:06
  • vmware密钥多少钱(vmware12.0密钥)2026-01-17 16:36:06
  • js深拷贝的三种实现方式(js中深拷贝的方法)2026-01-17 16:36:06
  • vue插槽有什么用(vue插槽的使用场景)2026-01-17 16:36:06
  • 全屏图片