[STM32U5] USB设备模式下大文件传输过程容易卡死需要多次复位

[复制链接]
144|10
童雨竹 发表于 2025-10-4 07:26 | 显示全部楼层 |阅读模式
移植USB MSC后,在拷贝大文件时经常传到一半就卡住了,必须复位才能恢复。小文件没问题,大文件就好像在**。怀疑和缓存或者对齐有关,但目前还没定位到具体点。
Clyde011 发表于 2025-10-4 07:31 | 显示全部楼层
也可能是电脑端的问题,换个PC试试能否重现。
公羊子丹 发表于 2025-10-4 07:32 | 显示全部楼层
你有没有试试把缓存关掉?有时候D-Cache会影响USB。
周半梅 发表于 2025-10-4 07:33 | 显示全部楼层
我之前在U5上遇到过,主要是传输包没对齐。
帛灿灿 发表于 2025-10-4 07:34 | 显示全部楼层
听起来像是大块数据处理时堆栈不够。
 楼主| 童雨竹 发表于 2025-10-4 07:35 | 显示全部楼层
USB的中断优先级和其他外设冲突也可能导致问题。
万图 发表于 2025-10-4 07:36 | 显示全部楼层
MSC例程本身就有点坑,多线程用的时候更容易挂。
Wordsworth 发表于 2025-10-4 07:37 | 显示全部楼层
是不是文件系统层面的问题,FATFS的缓冲要调大点。
Bblythe 发表于 2025-10-4 07:38 | 显示全部楼层
你用的是高速还是全速?这两个的驱动差别挺大。
Pulitzer 发表于 2025-10-4 07:38 | 显示全部楼层
可以开个DEBUG模式,看下USB中断是不是卡死了。
Uriah 发表于 2025-10-4 07:39 | 显示全部楼层
有的人建议在任务中分块处理,不要一次传太大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

171

主题

6217

帖子

2

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