Edit online

调试指南

24 Dec 2024
Read time: 1 minute(s)

USB Device 调试

  1. 查看 USB 设备当单板充当 USB Device 连接到 PC 主机 USB Host 端口时,可以在主机上查看 USB 设备有没有成功被枚举:
    • Linux 主机,可以通过 lsusb 命令进行查看。

    • Windows 主机,可以通过设备管理器命令进行查看:


      image2

  2. Sysfs 节点
    在单板上也可以通过 /sys/kernel/debug/usb/xxxx.usb/ 文件夹下的文件节点,对 UDC 驱动进行配置:
    ls /sys/class/udc
    10200000.usb
    ls /sys/kernel/debug/usb/10200000.usb/
    dr_mode    ep1out     ep3in      ep4out     params     testmode
    ep0        ep2in      ep3out     fifo       regdump
    ep1in      ep2out     ep4in      hw_params  state
    例如可以 dump 寄存器:
    cat /sys/kernel/debug/usb/10200000.usb/regdump
    GOTGCTL = 0x00000000
    GOTGINT = 0x00000000
    GAHBCFG = 0x00000000
    GUSBCFG = 0x00000000
    GRSTCTL = 0x00000000
    GINTSTS = 0x00000000
    GINTMSK = 0x00000000
    GRXSTSR = 0x00000000
    GRXFSIZ = 0x00000000
    GNPTXFSIZ = 0x00000000
    GNPTXSTS = 0x00000000
  3. 抓包工具

    和 USB Host 调试一样,抓包可以使用专门的 USB 总线分析仪或者在 Linux 主机上使用 usbmon 进行抓包。