- 杂志
 搜 索: 
 论坛 » 嵌入式系统设计 » vxWorks下一个flash芯片是否支持创建两个TFFS文件系统
广告招商
版主: yaopg , woodhead , 永远在路上
 发表新贴 
 发表回复 
 vxWorks下一个flash芯片是否支持创建两个TFFS文件系统  发表于 2008-04-25 23:29:20 [您是本帖的第822位阅读者]     [1楼] 
呢称:woodhead
加我为好友
在一个flash上创建两个文件系统,当不同的任务分别操作两个文件系统的时候,假如一个低优先级的任务去写或擦除,低优先级任务刚刚处理到任务状态字的时候被高优先级任务中断,如果高优先级任务去读内容,可能读到的是中间状态0x80,如果高优先级任务去写,可能由于干扰了flash的解锁状态,返回到低优先级任务执行时,执行失败。
至于什么情况下会出现两个任务同时写的情况。首先,如果有定时写或读文件系统的处理,是对双文件系统实现最大的危害,vxWorks自身没有这样的机制,我印象中某些公司的代码里面有过定时日志或其他的处理,需要注意了;其次,dosfs文件系统是有缓冲的,在dosfs和tffs之间有10个64K大小的cbio cache,写操作会先写入缓冲池缓冲,等任务不忙了再写入,这部分也会对双文件系统造成危害,但这部分同样也是可以规避掉的,例如在调用完write后增加ioctrl的调用,让数据写入flash后再返回,规避这部分的代价是降低了系统的实时性,因为当前写文件的任务一定是当前任务优先级最高的任务,如果让它占着cpu写flash,会让其他有需要的任务得不到调度,可能引发的后果例如操作命令行的时候有一段时间没有任何响应等。
从这个意义上讲,如果规避得当,创建两个TFFS文件系统也可以正常运行。


无话可说
 
 RE: vxWorks下一个flash芯片是否支持创建两个TFFS文件系统  发表于 2008-05-01 16:55:11 [2楼] 
呢称:shenfusheng
加我为好友

木兄对这个研究的是相当的深呀!


 
 RE: vxWorks下一个flash芯片是否支持创建两个TFFS文件系统  发表于 2008-05-05 20:26:24 [3楼] 
呢称:maomaotr
加我为好友

又学习了!


 
 RE: vxWorks下一个flash芯片是否支持创建两个TFFS文件系统  发表于 2008-05-07 14:37:17 [4楼] 
呢称:lantu
加我为好友
好有深度哦
走自己的路,让别人说去吧!
 
 RE: vxWorks下一个flash芯片是否支持创建两个TFFS文件系统  发表于 2008-05-13 17:01:42 [5楼] 
呢称:bestboy520
加我为好友
在一个flash上创建5个文件系统都没问题,我试过
 
共5条 1/1 1   
   快速回复主题
  用户名 : 匿名不能发帖!请先 [ 登陆 ]
  标 题:
  内 容 :
 
EEPW元器件搜索  强力提供
关于我们 | 广告服务 | 企业会员服务 | 新手上路 | 联系我们 | 友情链接
《电子产品世界》杂志社 版权所有 北京东晓国际技术信息咨询有限公司
Copyright ©2002 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备060382号