新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 解决多次插拔后 USB 无法再工作的问题

解决多次插拔后 USB 无法再工作的问题

作者: 时间:2024-04-01 来源: 收藏

客户使用的MCU 是F446,反馈在做压力测试时发现后,产品意外无法再工作。分析了几天仍然无进展,只有MCU 复位后才能恢复正常。

本文引用地址://www.cazqn.com/article/202404/457072.htm

1 问题描述
客户使用的 MCU 是 F446,反馈在做压力测试时发现后,产品意外无法再工作。分析了几天仍然无进展,只有 MCU 复位后才能恢复正常。
2 问题分析
由于此问题以属于偶发现象,一时半刻无法重现。首先能想到的是可能客户使用到了动态内存。通过与客户沟通,发现客户在一个比较老的 HAL 库版本上的基础上进行了改造,将原来的动态内存方式改成了静态内存,因此,不应该是内存分析失败导致。

好在之前客户有通过 分析仪采集通信过程,如下图所示:

1711939600556152.png

从上图可以看出,当出现问题时,有一堆异常数据,显示为 1044 个字节,展开内容却发现大部分字节值为 0Xff,如下图所示:

1711939656176687.png

这部分数据没有合法格式,姑且认为是 总线上的干扰数据,由插拔操作导致。接下来要客户尝试在调试模式下重现问题,然后再截取异常出现时 各寄存器的值,检查是否有异常。

更多内容请下载阅读



关键词: 多次插拔 USB STM32

评论


相关推荐

技术专区

关闭