21ic问答首页 - AT32F437 USB HOST RT-thread u盘读写不稳定
AT32F437 USB HOST RT-thread u盘读写不稳定
TopV2023-12-09
本帖最后由 TopV 于 2023-12-9 10:51 编辑
主芯片AT32F437VMT7配合RT-Thread Studio 开发环境,RT-Thread 版本 4.1.0
使用USB host 接U盘,发现很不稳定,简单的读写没问题,长期写入测试,会不定时出现USB口卡死的问题,调试发现是drv_usbfsh.c 里面的drv_pipe_xfer函数进入死循环了,此问题手里有三个U盘,新旧不一,牌子不同,有两个会出现此故障,一个不会。
不清楚是不是RT-thread usb host框架的问题,RT-thread 论坛上也有很多反馈usb host 此问题的,都是各显神通,没有最终定论。
希望咱雅特力可以给力些,看咱usb host驱动上还有啥完善的不,否则usb host 看着挺好,但无法实际工程应用,很是遗憾了。
曾经想使用CherryUSB包来替换咱的usb 驱动,发现at32F437的usb host 不支持dma 没发使用CherryUSB了。。。。。
主芯片AT32F437VMT7配合RT-Thread Studio 开发环境,RT-Thread 版本 4.1.0
使用USB host 接U盘,发现很不稳定,简单的读写没问题,长期写入测试,会不定时出现USB口卡死的问题,调试发现是drv_usbfsh.c 里面的drv_pipe_xfer函数进入死循环了,此问题手里有三个U盘,新旧不一,牌子不同,有两个会出现此故障,一个不会。
不清楚是不是RT-thread usb host框架的问题,RT-thread 论坛上也有很多反馈usb host 此问题的,都是各显神通,没有最终定论。
希望咱雅特力可以给力些,看咱usb host驱动上还有啥完善的不,否则usb host 看着挺好,但无法实际工程应用,很是遗憾了。
曾经想使用CherryUSB包来替换咱的usb 驱动,发现at32F437的usb host 不支持dma 没发使用CherryUSB了。。。。。
赞1
附上一份调整后的drv_usbotgh.c驱动文件,我这边用您寄来的u盘测试看起来ok了,您可先测试看看。
谢谢您的问题反馈。
评论
2023-12-22
赞0
同时向雅特力的技术支持表示敬意!
评论
2024-01-29
赞0
评论
2024-01-24
赞0
雅特力给力,感谢。这么用心对待客户的企业,哪能不火呢。
评论
2024-01-24
赞0
评论
2024-01-23
赞0
您好,收到新寄来的问题u盘后进行了分析。
抓包看到该u盘对其中有些命令的响应时间相比于其他正常u盘更慢,而新修改的驱动中做了retry次数限定10000,将retry次数加大就可以。
修改方式在之前更新后的驱动上进行完善:drv_usbotgh.c + 222行 "retry = 10000" 改为 "retry = 0xFFFFFFFF"
评论
2024-01-23
赞0
今天新驱动发现一个问题,有个U盘,新驱动不行,老的反而可以,看来U盘的兼容性确实挺不好搞的,期待更完善的驱动吧
评论
2024-01-19
@muyichuan2012 :已经寄出了,单号我随后找下
这个U盘也寄过来?我们再看看
赞0
大佬太给力,直接定位到问题 并给出解决办法,感谢,怒赞!
评论
2024-01-08
赞0
评论
2024-01-08
您需要登录后才可以回复 登录 | 注册