打印
[应用相关]

费了老鼻子功夫把stm32f的mass storage改成USB双缓冲收发

[复制链接]
3163|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pheavecn|  楼主 | 2008-7-13 22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发现速度未有任何改善。
白费劲了。。。
看来除非重写bot所有代码,从头代入双缓冲机制,才有机会倒塌USB的12Mbps.
沙发
hotpower| | 2008-7-13 22:20 | 只看该作者

坐pheavecn的沙发~~~先看看A人在ARM上的"A语"~~~

使用特权

评论回复
板凳
starm| | 2008-7-13 22:43 | 只看该作者

STR71x 提供的usb mass storage 例子,有双缓冲的可以参考一下

使用特权

评论回复
地板
xwj| | 2008-7-14 03:33 | 只看该作者

改的地方不对罢了

速度优化一定得抓住关键
比如传输、比如FALSH写...

使用特权

评论回复
5
香水城| | 2008-7-14 11:58 | 只看该作者

楼主测试的结果如何?改成双缓冲收发和没有改之前的对比

这个问题必须从USB传输时序上分析,很早以前有一个帖子讨论这个问题,估计找不到了。

使用特权

评论回复
6
pheavecn|  楼主 | 2008-7-14 23:46 | 只看该作者

速度一毫不差。因为原有bot架构就没有利用双缓冲的优势。

读可以到630KB/S,写到450多KB/S。不包含SD卡读写(注释掉相应函数)。
带SD卡读390KB/S,写80KB/S(应该是受卡的写速度限制)。

SD卡驱动我参照周立功的参考源码和ST的参考源码,改了N多Bug,兼容性和稳定性都高出不少。增加了一些特殊函数,比如随机读出函数,不再限定以512字节为单位读出,可跨边界读,在存字库的时候,方便多多。

与ST的参考源码比,周立功的有CRC计算,可靠些。
stm32f的SPI不是有CRC功能吗?没仔细看是否能用于SD卡操作时计算CRC,不然可以加速不少。

另外complain,stm32f资料讲得不够透彻明白,很多芯片行为没讲清,要加强。

使用特权

评论回复
7
pheavecn|  楼主 | 2008-7-15 00:04 | 只看该作者

++

nxp的讲得也很不明白,但是有zlg帮吆喝。
atmel的代理很菜,但是他资料明白清楚,没这个需要。
st要加油呀。芯片好也要用户会用呀。

使用特权

评论回复
8
hotpower| | 2008-7-15 00:24 | 只看该作者

自己做不受气~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

918

帖子

0

粉丝