这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » vxWorks 6.2 中TFFS的问题,求助!!

共8条 1/1 1 跳转至

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

菜鸟
2008-03-30 21:23:45     打赏
在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出现了问题,但又不知如何下手解决,请各高手指导!!!



关键词: vxWorks     问题     求助    

菜鸟
2008-04-02 16:23:24     打赏
2楼
我在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*/

菜鸟
2008-04-03 21:18:48     打赏
3楼

  我按你的方法试了一下,还是一样,你不是遇到过类似的问题么,你是怎么解决的,请赐教!
错误提示如下:


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]: 

谢谢!!


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

按我们当初的思路试试?

菜鸟
2008-04-13 16:05:12     打赏
5楼

我在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的还真有点挑战性,国内用的人不是很多,我们多交流吧!


菜鸟
2008-04-14 14:51:18     打赏
6楼
MTD总是要定义一个的吧,你在Image工程的prjParams.h里搜索一下MTD,看看定义的是哪个宏,在config.h里定义一下。这个宏决定了使用哪个xxxMTDIdentify函数识别flash设备。我用过405EP,跟你的440EP算是兄弟,不过440EP要高端多了,呵呵。

工程师
2008-04-14 16:40:23     打赏
7楼
都是高手

菜鸟
2008-04-23 21:02:24     打赏
8楼
我在405EP的板上就是从TFFS中加载镜像的,没有遇到什么麻烦事!
实在没有办法了,我就从NOR-FLASH中划了一块区域存放IMAGE,大小为1MB。vxWorks6.2好象要比vxWorks5.5大多了,以至于板上的512KB ISP不能够用,所以也就在NOR-FLASH上想办法了!原来是想通过TFFS加载IMAGE的,没有成功!现在只有把IMAGE放到NOR-FLASH上去了,剩余的空间再做成文件系统TFFS,这种办法倒是成功了,不过就是调试起来麻烦一些了。因为板上的ISP是8-bits设备,而NOR-FLASH是16-bits设备,得修改440EPx的引导配置!

我所prjParams.h中有关于TFFS的宏定义在config.h又定义了一番,还是没有通过,晕~~~~~~

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]