[应用相关] 费了老鼻子功夫把stm32f的mass storage改成USB双缓冲收发

[复制链接]
4234|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写...
香水城 发表于 2008-7-14 11:58 | 显示全部楼层

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

这个问题必须从USB传输时序上分析,很早以前有一个帖子讨论这个问题,估计找不到了。
 楼主| 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资料讲得不够透彻明白,很多芯片行为没讲清,要加强。
 楼主| pheavecn 发表于 2008-7-15 00:04 | 显示全部楼层

++

nxp的讲得也很不明白,但是有zlg帮吆喝。
atmel的代理很菜,但是他资料明白清楚,没这个需要。
st要加油呀。芯片好也要用户会用呀。
hotpower 发表于 2008-7-15 00:24 | 显示全部楼层

自己做不受气~~~

您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

918

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0