完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们需要一些帮助来解决 LPC55S69 上的 USB 数据损坏问题
(或者问题可能出在 i.MX8M Quad 上)。 我们正在构建一个系统,其中包括一个用作 USB 主机的 i.MX8M, 连接到一个用作高速 USB 设备的 LPC55S69。我们看到 从主机发送并由 LPC55S69 接收的 USB 消息 在存储到 RAM 中时已损坏。我使用了 Beagle USB 480 分析器来捕获总线流量,它看到了完整的数据, 这表明 LPC55S69 中正在发生损坏。但是, 当 x86 笔记本电脑用作主机时,这种损坏永远不会发生, 而当 i.MX8M 用作主机时,这种损坏会非常频繁地发生。使用 x86 PC 作为主机,我可以无误地 发送(并接收回复)数十万条连续消息,但使用 i.MX8M 作为 一个主机在失败之前我最多得到一两次正确的传输。我 无法确定 PC 发送的消息和 i.MX8M 发送的消息之间的具体区别。 我们最初遇到 DFU 协议数据包的问题 ,但已将我们在 MCU 中的代码缩减为简单的 供应商定义的“回显”协议,以便轻松 重现该问题。它只是将消息接收到缓冲区中,然后允许 主机请求将相同的缓冲区发回。CPU 不 读取或写入缓冲区。用于此测试的主机端软件是一个 小型 Python 3 程序。 数据损坏的特定形式通常仅限于 接收到的消息的前 16 个字节,并且通常会影响整个 32 位 字,但不一定会影响前 16 个字节中的所有 32 位字 。例如,我们可能会看到只有 缓冲区的第二个和第四个字是损坏的。每个损坏的字都包含 消息后面某个其他 32 位字的副本。 64 字节或更短的消息不会遇到这种损坏。使用 80 字节的传输很 容易重现,并且至少达到 512 字节也是如此。使用LPC55S69 的全速接口时不会出现此问题 - 仅在高速接口上出现。 使用 MCIMX8M-EVKB 作为主机、 运行 NXP 参考 Linux (4.9.88-imx) 图像并添加 Python 3“usb”模块和 LPCXpresso55S69 开发板作为 设备可以重现该问题。 典型的测试运行如下所示: root@imx8mqevk:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 1fc9:0094 NXP Semiconductors Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub root@imx8mqevk:~# date | ./usbecho Found 001:002 1FC9:0094 MCU VIRTUAL COM DEMO None Data payload is 29 bytes. Good match. Success: received data matched sent data. root@imx8mqevk:~# dd if=/dev/urandom bs=80 count=1 of=/tmp/shortfile 1+0 records in 1+0 records out 80 bytes copied, 0.000155521 s, 514 kB/s root@imx8mqevk:~# ./usbecho < /tmp/shortfile Found 001:002 1FC9:0094 MCU VIRTUAL COM DEMO None Data payload is 80 bytes. Receiving... Failure: received data does not match sent data. < d9eeb869024c4f7fac0b9b79331f7d36e7a04b7c159513d0d2277541c523a006698188b05c3c8db46bb6ace9e5c49341c4b603177eff7dee3bac0bca1b690940ed4f333ddc64ccb8b404a109126ca82a > ed4f333ddc64ccb8b404a109126ca82ae7a04b7c159513d0d2277541c523a006698188b05c3c8db46bb6ace9e5c49341c4b603177eff7dee3bac0bca1b690940ed4f333ddc64ccb8b404a109126ca82a 在这种情况下,您可以看到数据的前 16 个字节未正确传输 - 具体而言,它们已被替换为消息的最后 16 个字节的副本。 请查收附件:
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1829个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36050 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4176 浏览 0 评论
5770 浏览 1 评论
6550 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4008 浏览 0 评论
451浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
419浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
425浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
508浏览 2评论
545浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 10:19 , Processed in 0.977344 second(s), Total 72, Slave 58 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号