gaoan1985
gaoan1985

注册于 6 years ago

回答
5
文章
0
关注者
1

最终从30KB/S提升到200KB/S左右:

  1. 驱动里的rt_usb_hcd_pipe_xfer里是按照wMaxPacketSize的大小传输的,全速下可能会是64字节,stm32f4的usb里fifo可以有1.25k,所有把rt_usb_hcd_pipe_xfer里传输的数据个数提升到了1024字节。这已经节省不少时间。
  2. drv_pipe_xfer里的rt_thread_mdelay(1)等待完成量后延时1ms,所以按照rtt的驱动这里每64字节延时1ms,时间浪费不少,按照条目1里修改为1024后,每1024延时1ms,这个延时1ms其实可以取消的,但是取消后会影响枚举,很多时候枚举失败。经过修改现在已经可以在不延时的情况下枚举成功了。最终测试速度大概在200KB/S,不过按照这个速度,现在暂时够我用了。如需更高速度还需继续优化。
  3. 200KB是边读边写到sd卡的速度,如果排除写sd卡导致的延时,大概可以达到1MB左右

自己的问题?sdmmc的时钟没开起来

发布
问题