VxWorks 在SPI Flash上建立TFFS文件系统

1、用的是VxWorks6.9, SPI Flash,将6~16MB分给TFFS使用;

2、在BSP中添加了

spiFlashMem.c.c :实现SPI Flash驱动

sysMtd.c :实现自己的MTD层sysMtdIdentify、sysMtdWrite、sysMtdErase、sysMtdRead、sysMtdMap接口

sysTffs.c :拷贝的其它BSP的,没做什么更改

nvRamToFlash.c :拷贝的其它BSP的,sysNvRamGet、sysNvRamSet。直接返回错误

3、运行情况

-> sysTffsFormat
sysMtdIdentify OK
Formatted 32 of 32 units = 100.0 %
value = 0 = 0x0
-> usrTffsConfig 0,0,"/tffs0"
tffsName : /tffs0
sysMtdIdentify OK
Instantiating /tffs0 as rawFs,  device = 0x10001
value = 0 = 0x0
-> devs
drv name                
  0 /null               
  1 /tyCo/0             
  9 /vio                
  4 /tffs0              
value = 25 = 0x19
-> cmd
[vxWorks]# cd /tffs0
cd: error = 0x16.

4、错误情况:

SPI Flash的例子太少,还未定位,感觉是sysMtdRead、sysMtdMap接口未写对。

5、需求

在SPI Flash成功建立好tffs文件系统

  1. 没有源码不好定位,你可以在mtd层添加些打印看看;
  2. 在c解释器下看看能不能cd进去;
    vip中 INCLUDE_TFFS_MOUNT有没有配置

已采纳木泽八老师的回答。
解决方案为:使用dosfs实例化tffs
-> sysTffsFormat
-> dev = tffsDevCreate (0,0)
-> xbdBlkDevCreateSync dev, "/tffs0"
-> dosFsVolFormat "/tffs0"