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

共3条 1/1 1 跳转至

DosFS问题

菜鸟
2006-12-25 17:02:53     打赏

在一块Flash上面创建两个dosFS文件系统,操作的时候,如果一个正在写,另一个优先级较高正在读,会引起读失败,出现目录不存在等错误。在自己注册的Read函数里面增加互斥也不起作用,在read里面增加打印,发现只调用了4次,还是在文件系统初始化的时候。经过跟踪发现大量使用了memcpy,请问谁有过类似用法?如何解决冲突?




关键词: DosFS     问题    

菜鸟
2006-12-29 17:58:00     打赏
2楼

我的tffs也出现了类似的现象,8M flash 4M作为tffs,程序烧在另外的地址。烧程序同时又操作文件系统,就会出现,甚至在系统重启之后连文件系统都没有了。是否可以用信号量的方式去解决对flash的任务操作?


菜鸟
2006-12-29 18:04:00     打赏
3楼
不可以,文件操作的时候使用了memcpy,根本不会去调用你注册的read函数,我曾经尝试在nor的flash上增加注册一个map,在map上做信号量互斥,但是测试发现一次操作没有问题,多次读同一个地址就不调用map函数了,所以也不行。感觉最可靠的方法是在write和read文件系统的时候,在函数前后增加taskLock和taskUnlock。只是比较麻烦。

共3条 1/1 1 跳转至

回复

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