完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
软件环境:WIN 10 21H1、VSCode + ESP-IDF插件(v1.1.0)、ESP-IDF(v4.3)
硬件环境:ESP32-S2-Saola-1_V1.2 问题描述: 代码参考自:https://github.com/leeebo/esp32s2_usb 仅保留USB MSC以及VFS部分,以实现类似U盘的功能,测试中发现重复插拔USB有几率导致USB驱动崩溃。 日志见下图(左侧为系统成功识别该USB所产生的日志,右侧为驱动崩溃时的日志),代码定位在https://github.com/espressif/tinyusb/bl ... 2sx.c#L747 以下是抓取的USB数据包(下方图片为预期情况) 下方是为了复现该问题所提供的的工程文件(开发框架:ESP-IDF(v4.3)、开发板:ESP32-S2-Saola-1_V1.2、引脚:IO20 -> D+、IO19 -> D-、GND -> GND) |
|
相关推荐
1个回答
|
|
针对您的问题,我为您提供以下解决方案:
1. 更新软件和硬件环境:首先,请确保您的软件环境和硬件环境都是最新的。这包括Windows 10、VSCode、ESP-IDF插件和ESP-IDF。更新到最新版本可能会解决一些已知的问题。 2. 检查USB线和端口:尝试更换USB线和端口,以排除硬件故障的可能性。 3. 优化代码:在您的代码中,检查是否有可能导致驱动崩溃的逻辑错误。例如,确保在USB设备被拔出时正确地关闭和释放资源。 4. 使用TinyUSB的钩子函数:TinyUSB库提供了一些钩子函数,可以在USB设备连接和断开时进行自定义操作。您可以使用这些钩子函数来处理设备连接和断开时的逻辑,以减少驱动崩溃的可能性。 5. 增加错误处理:在您的代码中增加错误处理逻辑,以便在出现问题时能够及时发现并采取措施。 6. 检查TinyUSB库的版本:确保您使用的TinyUSB库版本与ESP-IDF版本兼容。如果不兼容,尝试升级TinyUSB库或降级ESP-IDF。 |
|
|
|
只有小组成员才能发言,加入小组>>
358 浏览 0 评论
1202 浏览 1 评论
590浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
445浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 12:04 , Processed in 1.087180 second(s), Total 49, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号