tffs文件系统搭建过程和注意事项

发布时间:2011-06-21 09:20:49   来源:文档文库   
字号:

Vxwokrs 系统上搭建文件系统

文件系统有多种DosFsTffs等等,我们以 Tffs系统为例子。

1、描述

搭建Tffs文件系统主要核心层、翻译层、MTD层、socket层组成。

2、修改、编译

使用到相信文件:tffsconfig.csystffs.cconfig.hXXmtd.csyslib.c

(1) tffsconfig.c(此文件可以移到BSP源码中个,不过要修改路径,否则内核编译获取的还是tornado中的文件)

这个C文件是MTD驱动的入口文件,如果要调用mtd的初始化函数必须在MTDidentifyRoutine mtdTable[]表中加入如下语句:

#ifdef  INCLUDE_MTD_MX29LV
    mx29lvMTDIdentify,
#endif  /* INCLUDE_MTD_MX29LV */
并在该文件开头声明。
#ifdef  INCLUDE_MTD_MX29LV
FLStatus  mx29lvMTDIdentify (FLFlash vol);
#endif   /* INCLUDE_MTD_MX29LV */
最后就是将我们的flash相关MTD驱动加入到makefileBSP源码)中。即:

FLASH_DRV = mx29lvMtd.o

(2) systffs.c

把一些申明和地址定义添加这个文件开头

#define INCLUDE_MTD_MX29LV           /* MX29LV160BT MTD driver */
#define INCLUDE_TL_FTL                  /* FTL translation layer */
#define    FLASH_BASE_ADRS        0xfe000000 /* Flash memory base address */
#undef FLASH_SIZE
#define    FLASH_SIZE        0x00700000    /*Flash memory size,2M(parameter block) */

(3) config.h

config.h包含一些宏定义

#define  INCLUDE_TFFS
#ifdef INCLUDE_TFFS
#define INCLUDE_TFFS_DOSFS
#define INCLUDE_TFFS_SHOW
#define INCLUDE_DOSFS        /* dosFs file system */
#define INCLUDE_SHOW_ROUTINES    /* show routines for system facilities*/
#define INCLUDE_TL_FTL
#define INCLUDE_IO_SYSTEM
#define INCLUDE_DISK_UTIL
#endif /* INCLUDE_DOSFS */

(4) XXmtd.c

修改基本参数信息,擦除函数和写函数的编写

(5) Syslib.c

添加内存映射

{

/*flash tffs*/

(VIRT_ADDR) FLASH_BASE_ADRS,

(PHYS_ADDR) FLASH_BASE_ADRS,

FLASH_SIZE,

VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE |

VM_STATE_MASK_GUARDED,

VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |

VM_STATE_GUARDED

}

3、调试

把内核编译出来了,通过网络启动系统加载。然后通过一下命令一次调试:
(1)tffsShow 

socket=RFA_tongwei: type=0x1c4, unitSize=0x10000, mediaSize=0x100000

说明已正确识别到S29GL064设备,设备号为0x1c4
tffsShow调用的是tffsconfig.c中的TFFSHOW函数,从此函数开始运行,此函数会调用Flash读寄存器函数读到一个mancode=0x01,devcode=0x227e,这两个数据是每个flash自带的用于唯一表示。然后通过这两个标识来找到设备号。

(2)sysTffsFormat

Value=0

当我们可以Showflash设备号说明我们的程序已经读到了Flash设备,接下来就是对次设备格式化。在Vxworks系统中对Flash格式化其实就是对设备的擦除和写操作,系统通过我们给的sysTffsFormat命令找到systffs.c中的sysTffsFormat函数执行,然后跳转到s29gl064Mtd.c进行擦除和写操作。

(3)usrTffsConfig

usrTffsConfig 0,0,/tffs

这个命令用于挂在文件系统,挂在完成用devs命令来查看。

-> devs

drv name

0 /null

1 /tyCo/0

5 host:

3 /tffs

value = 25 = 0x19

此时文件系统挂在成功。我们可以用Shell命令对其进行操作。

本文来源:https://www.2haoxitong.net/k/doc/6dd786ecf8c75fbfc77db2cb.html

《tffs文件系统搭建过程和注意事项.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式