工具/软件:
您好的团队、
我们正在通过将 TUSB7340EVM 连接到 Intel Cyclone Ⅴ SX 评估板的 PCIe 连接器来检查运行情况。 目的是将 USB 闪存驱动器连接到 USB 连接器、并验证是否可以访问 USB 闪存驱动器。
【问题】
是否存在任何可能导致以下情况的情况? 是否有任何相关的寄存器?
错误的原因是什么? 其他线程指出内核版本已过时,但这次我认为它已经足够新了。
EVM 是否具有连接到嵌入式 Linux 环境的经验?
【条件】
操作系统使用嵌入式 Linux 内核版本 5.15.50。
TUSB7340EVM 的总线电源连接到 5V 外部电源。
【结果】
PCIe 在第 1 代中建立了链路。 已使用 lspci 命令验证是否检测到 USB 控制器、但插入时未检测到 USB 拇指驱动器。 通常、插入 USB 存储器并识别 USB 存储器时会发生中断事件。 但是、没有发生中断事件、因此我们检查了 USB 命令寄存器。
- USB 状态寄存器 (04h)
- 读取地址 0xC0000024:0x00000015
- * USB 偏移量计算
- BAR0 = 0xC0000000
能力寄存器长度= 0x20
工作基址寄存器= BAR0+CAPABILITY 寄存器长度= 0xc0000020
- BAR0 = 0xC0000000
当我检查 0x00000015 (=位 0、2、4 为“1")“)时、发生主机系统错误和 HC 暂停。 
【隔离问题】
当另一个 PCIe 器件 (SSD) 连接到 Cyclone Ⅴ SX 评估板时、它可以正常工作。 CycloneⅤ Sx EVM 就足够了。
我将 TUSB7340 评估板和 USB 记忆棒连接到另一个 Linux 环境(台式 PC)。它工作正常。 TUSB EVM 和 USB 记忆棒 也正常。
此致、
Hiromu
