您的位置:控制工程论坛网论坛 » 技术争鸣 » vxWorks 6.2 中TFFS的问题,求助!!

junhong07

junhong07   |   当前状态:在线

总积分:7914  2024年可用积分:0

注册时间: 2008-01-15

最后登录时间: 2019-06-23

空间 发短消息加为好友

vxWorks 6.2 中TFFS的问题,求助!!

junhong07  发表于 2009/10/4 21:24:52      4076 查看 0 回复  [上一主题]  [下一主题]

手机阅读

我的问题:

在AMCC0440EPx上使用vxWorks 6.2,当通过网络加载Image成功后,用usrTffsConfig(0,0,"/tffs0")可以创建文件系统(已经通过测试),但当在BootLoader中设置从TFFS引导时就出错了,出错信息如下:

Attaching to TFFS...
0xc816c0 (tRoot): checkStatus() ERROR line 44
0xc816c0 (tRoot): checkStatus() ERROR line 279
tffsDevCreate failed.
usrTffsConfig failed.

装载Image失败,我修改Boot参数,使用网络加载Image,VxWorks能正常引导,使用usrTffsConfig创建文件系统成功,使用devs命令可以看到设备:"/tffs0"!

据我推测,可能是MTD出现了问题,但又不知如何下手解决,请各高手指导!!!
以下是一些高手提出的意见:(仅供参考)
1、我在vxWorks6.3下曾遇到同样的问题,发现是其config.h中与TFFS相关的组件配置问题。

在config.h中试一下下面的定义:

/*TFFS configuration*/
#define  INCLUDE_TFFS
#ifdef INCLUDE_TFFS
#define INCLUDE_XBD
#define INCLUDE_XBD_TRANS
#define INCLUDE_XBD_BLKDEV
#define INCLUDE_XBD_BLK_DEV
#define INCLUDE_XBD_PART_LIB
#define INCLUDE_TFFS_SHOW
#define INCLUDE_TFFS_MOUNT
#define INCLUDE_DISK_UTIL
#define INCLUDE_MTD_AMD
#define INCLUDE_TL_FTL
#define INCLUDE_FS_MONITOR

#define INCLUDE_DOSFS            /* dosFs file system */
#define INCLUDE_DOSFS_MAIN
#define INCLUDE_DOSFS_FAT
#define INCLUDE_DOSFS_DIR_VFAT
#define INCLUDE_DOSFS_DIR_FIXED
#define INCLUDE_DOSFS_CACHE
#define INCLUDE_SHOW_ROUTINES    /* show routines for system facilities*/

#define INCLUDE_ERF             /* Event reporting framework */
#define INCLUDE_DEVICE_MANAGER  /* Device Manager */
#define INCLUDE_FS_EVENT_UTIL   /* File system event utility */
#endif/*#ifdef INCLUDE_TFFS*/
2、我按你的方法试了一下,还是一样,你不是遇到过类似的问题么,你是怎么解决的,请赐教!
错误提示如下:


VxWorks System Boot

Copyright 1984-2005  Wind River Systems, Inc.

CPU: AMCC PowerPC 440epx - 440EPx Board
Version: VxWorks 6.2
BSP version: 2.0/1
Creation date: Apr  3 2008, 08:48:03

Press any key to stop auto-boot...
 1
auto-booting...

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.111
host inet (h)        : 192.168.0.218
user (u)             : target
ftp password (pw)    : target
flags (f)            : 0x0

noOfMTDs=1
Attaching to TFFS(0, 0, /tffs0/vxWorks)... 0xd0ba68 (tBoot): checkStatus() ERROR line 44
0xd0ba68 (tBoot): checkStatus() ERROR line 279
tffsDevCreate failed.
usrTffsConfig failed.
Error loading file: errno = 0x3d0001.
Can't load boot file!!

[VxWorks Boot]: 

谢谢!!

3、我们用的是vxWorks6.3, 记得是在XBD初始化时报了错,当时的思路是既然做vxWorks image没问题而做bootrom有问题,应该不是驱动代码错了,估计是相关的配置弄错了。所以就比较了vxWorks的工程里prjParams.h里关于TFFS的配置与config.h里的差异,发现config.h里明显少了些宏,加上了就好了。
你的问题跟我的具体原因可能不一样,症状很像,不了解你用的板子,下面两个参数是否需要修改
#define INCLUDE_MTD_AMD
#define INCLUDE_TL_FTL 
4、

我在Config.h定义了以下宏:

#undef INCLUDE_MTD_CFIAMD
#undef INCLUDE_MTD_CFISCS
#undef INCLUDE_MTD_I28F016
#undef INCLUDE_MTD_I28F008
#undef INCLUDE_MTD_I28F008_BAJA
#undef INCLUDE_MTD_AMD

#ifdef  INCLUDE_TFFS
#define INCLUDE_TL_FTL
#define INCLUDE_XBD             /* Extended block device */
#define INCLUDE_XBD_BLK_DEV     /* Extended block device */
#define INCLUDE_DEVICE_MANAGER  /* Device Manager */
#define INCLUDE_ERF             /* Event reporting framework */
#define INCLUDE_FS_EVENT_UTIL   /* File system event utility */
#define INCLUDE_FS_MONITOR      /* File system monitor */
#define INCLUDE_XBD_PART_LIB    /* XBD partition creation support */
#define INCLUDE_DOSFS           /* DOS filesystem */
#define INCLUDE_DOSFS_FAT       /* DOS file system FAT12/16/32 handler */
#define INCLUDE_DOSFS_DIR_FIXED /* DOS File system old directory format handler */
#define INCLUDE_DOSFS_DIR_VFAT  /* DOS file system VFAT directory handler */
#define INCLUDE_USER_FLASH
#define INCLUDE_NET_SHOW
#define INCLUDE_STARTUP_SCRIPT
#define INCLUDE_TFFS_DOSFS
#define INCLUDE_TFFS_SHOW
#define INCLUDE_SYM_TBL
#define INCLUDE_STAT_SYM_TBL
#define INCLUDE_SHELL
#define INCLUDE_DOSFS_MAIN
#define INCLUDE_DISK_UTIL
#define INCLUDE_SHOW_ROUTINES
#define INCLUDE_STANDALONE_SYM_TBL
#define INCLUDE_IO_SYSTEM
#endif

我想定义宏的位置在Config.h中的位置应该没有什么关系吧! 我也在Image的工程里查过,与TFFS有关的宏不知道有哪些?
而且我在使用Amcc-440EPx的时候,有时候不是很稳定,现在也是一头雾水,不知是硬件不稳定还是BSP不稳定?
我本来是想用vxWorks 6.3的,可是没有找到,也就只能将就用它了!!

Amcc-440EPx的BSP的还真有点挑战性,国内用的人不是很多,我们多交流吧!

5、
1楼 0 0 回复