这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » TFFS 2.0(?)不支持DOS长文件名!

共10条 1/1 1 跳转至

TFFS 2.0(?)不支持DOS长文件名!

菜鸟
2002-10-15 18:21:47     打赏
我用的tornado2.02自带的tffs文件系统不支持dos长文件名!这太让人沮丧了!!昨天我用usrTffsLnConfig()来实现tffs,当我创建了几个长的目录名关机重启后,发现这几个根本就找不到啦!   后来我在google的vxworks新闻组上找到了原因:tffs对dos文件系统的结构非常敏感,要安全地使用它就只能用它自带的程序格式化,而不能用dosFsMkfs()来完成。但长文件名本身就是非标准的,它只能用dosFsMkfs()来创建,如果在tffs上实现长文件名,则造成的后果就是文件数据的丢失!   这就是原因的所在。 全方如下,唉,人家早在1999年就已经在讨论这个问题了,想不到我们落后了这么久。。。 --------------------------------------- 新闻群组 Groups search result 5 for long name group:comp.os.vxworks Search Result 5 寄件者:Leonid Rosenboim (leonid@bitband.com) 主旨:Re: Long File Name support TFFS View: Complete Thread (2 articles) Original Format 新闻群组:comp.os.vxworks 日期:1999/09/05 Assuming you are using the old dosFs, which is shipped with Tornado 2, then you are out of luck: TrueFFS is very nosy about the DosFs structure stored on its volumes, and the only safe way to use it is to format a TrueFFS volume only with the format function supplied with TrueFFS. Never use dosFsMkfs() to format a TrueFFS volume. DosFs long names are non-standard, and can be created only with dosFsMkfs(), and are known to cause file data to dissapear when used with TrueFFS, because TrueFFS's idea of the meaning of some fields in the boot block and DosFs's idea vary. This has been documented in the SPR database. Your solution is to either go to DosFs 2 which supports standard VFAT long names, or to do away with TrueFFS. Frankly I do not see why anyone would still bother with TrueFFS at all, you can get lower price per Megabyte with ATA-based Compact Flash cards, and not worry about any software issues, and remain vedor independent, buy the CF cards where it is cheaper. HTH, Leonid Anurag Srivastava wrote: > > Hi everybody, > > > > I need long file name support on TrueFFS. I am making DOS file system > > with long file name support and it is working . Does this support is > > provided in tffs for Tornado. If yes , then please send me the command > > to do s. > > > > Thanks, > > > > Anurag. ------------------------------------------------------------------------------- ©2002 Google



关键词: 不支持     文件名    

菜鸟
2002-10-17 04:37:00     打赏
2楼
好象dosFS2支持tffs长文件名,不知哪位有这方面的经验?或者有dosFs2? btw,好象坛子里的sdjm对tffs不太关注,真是遗憾啊!tffs有很多的好处。我想等两天写一篇tffs的文章,包括一些概念性的东西,以及MTD的驱动,希望能抛砖引玉。。。

菜鸟
2002-10-17 05:10:00     打赏
3楼
期待中..........

菜鸟
2002-10-17 20:11:00     打赏
4楼
[quote][b]以下是引用[i]vxfree在2002-10-17 11:08:03[/i]的发言:[/b] dosFs甚至不能认识多分区和FAT32!dosFs2.0可以。 如果购买了正版Tornado,应该向代理商申请免费升级。 我有dosFs2.0,可惜30多M,我拨号上网... [/quote] 5555555555~~~~~~`! 最可气的是老板找他一个朋友搞到的tornado2.0开发包!说以后产品量产了就去买正版(谁知道会不会呀,毕竟要那么多MONEY),现在什么支持也没有,幸亏坛子里兄弟们的帮助,不然我可惨了:)真是太羡慕vxfree兄了,有那么多好东东可以把玩,兄弟我就只有瞧着流口水的份儿了。。。。。(要是你有adsl就好乐。。。。)[em20][em20][em01][em01][em01][em01]

菜鸟
2002-10-17 22:08:00     打赏
5楼
你要在"tffs/stdcomp.h"中声明一下就可以了,相信你还会遇到许多问题,慢慢来吧。

菜鸟
2002-10-18 17:33:00     打赏
6楼
从出错信息可以看出,你在sysSerialHwInit()中调用了i28f160Identify导致出错!我是在s3c4510b上实现MTD驱动的,我对860不熟悉,不知道为何在sysSerialHwInit()中要调用?? 解决的方法:1.还是在sysSerialHwInit()之前先声明一下i28f160Identify(). 2.你先看一下你的编译过程,显示的信息中是否有编译你的MTD驱动i28f160.o的信息?如果没有,这就是原因所在了!直接把i28f160.c放到你bsp所在目录,并修改makefile加入i28f160.o的编译,应该就OK了.

菜鸟
2002-10-18 18:50:00     打赏
7楼
[quote][b]以下是引用[i]sandy在2002-10-18 10:07:02[/i]的发言:[/b] 自己写的MTD i28f160.c放在target/src/drv/tffs目录下,在编译过程中根本没有编译, seasoblue版主我真的太感谢您了,能不能把您的emil地址留给我,下面的路还请您多指教.[em05][em05][em05] [/quote] 我还是第一次听说有人崇拜我[em09],只是因为我遇到过这个问题,所以才能很清楚地告诉你。论坛里面有很多高手,你多多向他们学习吧。

菜鸟
2002-10-19 00:47:00     打赏
8楼
步骤:   1.sysTffsFormat()或者tffsDevFormat(0,0). 2.usrTffsConfig(0,0,"/tffs"); 3.fp = open()或者fopen(); 4.write()或者fwrite(); read()或者fread(); 5.fclose(fp); 以后只要不重启就是需要做第2步。第1步也只能最开始做一次,不然数据掉了可不要怪我喔。:)

菜鸟
2002-10-19 02:02:00     打赏
9楼
我是直接用bootrom.hex来烧的,一切正常。

菜鸟
2002-10-22 21:20:00     打赏
10楼
我没有遇到这样的问题,我曾经把1.24M这么大的vxworks映象文件写入了flash(2M bytes),并且正常引导成功。我想可能是你的MTD驱动没有作好的缘故。你可以在shell下用命令“d address,bytes,lineBytes"来看你的flash内容,看是否已经写入。

共10条 1/1 1 跳转至

回复

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