现在正在vxWorks下加载TFFS文件系统,出了一些问题。CPU:IXDP425,FLASH:I28F128J3(A)。
该定义的已经定义了,也已经把INCLUDE_TFFS包含进来了,flash的驱动函数也已经写好加到了工程中。
把bootrom和vxworks重新编译后下载到系统中后,在shell中输入命令:
tffsShowAll显示
0:socket:RFA; TYPE=0X8918,……参数显示正常,flash也已经找到。
输入tffsDevFormat时出现如下:问题
trcStack aborted : error in frame
0 trcStack()
若在tffsShowAll后输入sysTffsFormat命令效果一样。
不知道上述是什么原因,是哪方面的东西没有弄好,恳请指导一下。
现在有一点进展,tffsDevFormat已经可以格式化了,但是它直接把整片flash全部格掉了,连bootrom都给格掉了。然后用usrTffsConfig等命令可以用,可以在 devs中看到加载进去的/tffs/。我尝试着改了 TFFS_ADR,它之前定义的地址是flash的起始地址,当我把这个地址改为BASH_ADR+BOOTROM_SIZE后,编译后用tffsDevFormat时格式化一段时间后就会出错,trcStack aborted : error in top frame.
后来又改了sysTffs.c中sysTffsFormat()函数中定义的那个结构数组的定义,
para={ (BOOTROM_SIZE),……}编译后格式化时不会格掉BOOTROM,但是会出 error in top frame 的错误。
而para开始的参数是para={ 0x0800001,……}
还有什么别的地方需要改吗?
para的定义不要完全按照默认的参数做你现在用0x0800001的起始地址 这个参数是偏移量来的
可能你的BOOTROM也就只有280K左右吧
没必从这个地址开始格式化的
这个偏移量没准儿已经超出了你的FLASH大小了
试着改成0x0080000试一下 bootrom应该不会格式化掉了
引用: 引用 2 楼 Heaven_Redsky 的回复:
para的定义不要完全按照默认的参数做你现在用0x0800001的起始地址 这个参数是偏移量来的
可能你的BOOTROM也就只有280K左右吧
没必从这个地址开始格式化的
这个偏移量没准儿已经超出了你的FLASH大小了
试着改成0x0080000试一下 bootrom应该不会格式化掉了
不会吧?我专门定义了一个BOOTROM_SIZE的大小,然后在0X80000L处做了替换,还是不行。
现在是只要把TFFS_ADRS的地址改为FLASH的起始地址就可以格式化,但是是连BOOTROM一起格掉了,也可以COPY vwworks进去。但如果TFFS_ADRS的值不是FLASH的起始地址,格式化一段时间后就报error in top frame 的错误。应该是堆栈这边有问题把。可是不知道怎么改。
现在如果用sysTffsFormat命令代替tffsDevFormat命令也可以格式化,不会报错,BOOTROM也在,COPY vxworks进去后改到从tffs启动时会有tffsDevCreate abort的错误,应该是之前文件系统没加进去。
直接调用tffsDevFormat因为没有格式化参数,通常都是从0地址开始格式化的
现在能保住BOOTROM 也可以copy vxworks了
那么在load的部分代码中是不是正常的调用了usrTffsConfig等函数了,那部分的代码也要好好查一下
另外,vxworks拷贝正常情况下编译的vxworks.st应该就可以用了
看不到实际情况可能解释的有点问题
不过 你现在做到这个地步 应该在两三天之内就可以解决 不用急 呵呵
有个办法,直接修改FLASH_TFFS_BASE_ADRS和FLASH_TFFS_SIZE,留出botorom的空间
然后用{{0, 99, 1, 0x10000l, NULL, {0,0,0,0}, NULL, 2, 0, NULL}, FTL_FORMAT}
做参数调用tffsDevFormat
还不行把程序贴上来
楼主:
你好,我也正在做vxWorks TFFS文件系统的移植,出了一些问题。CPU:IXDP425,FLASH:I28F128J3(A) 16位读/写
现在我能识别,不过tffsDevFormat就不成功,可否交流一下你的成功经验?
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
Attaching to TFFS...
Can't load boot file!!
vxWorks已经copy到/tffs0中.
请高手指点指点
你看看你copy的vxworks的格式,如果是压缩的需要解压缩,如果没有解压程序会出现这个问题.也或者你的vxworks被破坏.