linux下优盘写的问题??

cubbercn 2007-05-07 10:36:03
本人做一个linux 图象采集,然后全速写入优盘的小系统,现在的问题是,在图片采集存储的前20秒可以以每帧8秒的速度写(每张图片约150K) ,但是超过20秒后,速度明显下降(摄像头和优盘通过了一个usb hub 1.1连接到开发板同一usb口),基本为每秒一帧,采用写的方式为先通过挂载,然后使用标准C的fwrite写入/mnt, 还没有解决问题,请教各位???
...全文
312 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2007-06-09
  • 打赏
  • 举报
回复
用setbuf或setvbuf设置文件为不要使用缓存,然后用fwrite测试写入速度。
cubbercn 2007-06-09
  • 打赏
  • 举报
回复
测试的方法是先mount优盘 使用write函数将内存中一片数据约150k一次性写到/mnt/pic1.dat ,但是经测试每张图片约耗时0.01秒,这证明不可能已写入优盘(1.1的优盘一般1.2M),而且umount时,要等待一段时间,故判断还是写到了某个缓存
cubbercn 2007-06-09
  • 打赏
  • 举报
回复
我使用了read, write 但是经测试还有缓冲,是不是usb自带了一个缓冲阿??
我一帧就是一个文件,所以每写一次,就fclose一次。
ma100 2007-06-08
  • 打赏
  • 举报
回复
不要每写一祯数据,就fclose
全写完再fclose
因为每次打开文件fseek会越来越慢
dai_weitao 2007-06-07
  • 打赏
  • 举报
回复
不要用fwrite, 这个是有缓存的函数. 你应该用write, 这是Linux提供的无缓存IO读写调用, 速度很快.
mymtom 2007-06-07
  • 打赏
  • 举报
回复
setvbuf 和 setbuf 都可以设置FILE的缓存。
laughing0329 2007-06-07
  • 打赏
  • 举报
回复
关注!!自我感觉要进行u盘驱动的研究!
cubbercn 2007-06-06
  • 打赏
  • 举报
回复
请问一下,怎么测试U盘的写入速度?? 测试时需要阻塞写入而且没有缓存吧?可是我现在都带缓存,不知怎么去掉缓存啊!谢谢!
mymtom 2007-05-10
  • 打赏
  • 举报
回复
好像比较难呀,你需要测试U盘的写入速度,如果与图像的数据产生的速度差距较大,就很难办了,你的系统看起来也无法提供更大的缓存了!
好好算一下,如果有必要,需要换usb 2.0 和更快速的U盘!
cubbercn 2007-05-08
  • 打赏
  • 举报
回复
谢谢 现在确定是缓存的原因 不过现在有个演示的需求,在linux下,怎么增加写usb缓存的呢?? 现在摸约24M 左右???能不能扩大点,内存本身64 M

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧