|
|
@@ -46,16 +46,52 @@ GD IP 采用 DWC2,但是读取的硬件参数都是 0(我也不懂为什么
|
|
|
USB_OTG_INEP(i)->DIEPCTL = (USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK);
|
|
|
USB_OTG_OUTEP(i)->DOEPCTL = (USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK);
|
|
|
|
|
|
+除此之外可能存在其他未知 BUG,请自行测试。
|
|
|
+
|
|
|
+开启 USB_LOG_DBG 后无法枚举
|
|
|
+----------------------------------------------------------------
|
|
|
+
|
|
|
+有且仅有商业性 IP 开启后可以枚举,其余 IP 禁止开启,否则无法枚举。懂得都懂。
|
|
|
+
|
|
|
+USB3 CV测试用哪个版本
|
|
|
+------------------------------
|
|
|
+
|
|
|
+1.4.3 版本及以上
|
|
|
+
|
|
|
+Ep addr XXX fifo overflow
|
|
|
+------------------------------
|
|
|
+
|
|
|
+.. figure:: img/question1.png
|
|
|
+
|
|
|
+该错误表示该端点默认设置的 fifo 空间不够用,需要增大 fifo 空间,通常见于 DWC2/MUSB IP。FIFO 设置参考相关的 glue 文件。
|
|
|
+
|
|
|
Ep addr XXX overflow
|
|
|
------------------------------
|
|
|
|
|
|
-该 IP 硬件上没有这么多端点, 请更换 IP or 减少端点使用。并且默认 demo 不做双向功能,考虑到不是所有的 IP 都支持,因此默认是 81 02 这样的而不是 81 01,
|
|
|
-如果支持,自行修改。某些 IP 双向端点可能会占用相同的硬件信息,不一定能同时使用,自行检查。
|
|
|
+.. figure:: img/question2.png
|
|
|
+
|
|
|
+该错误表示该 IP 硬件上没有这么多端点, 请更换 IP or 减少端点使用。
|
|
|
+当然也可以修改为双向端点,考虑到不是所有的 IP 都支持双向端点,因此默认 demo 不做双向功能,举例默认是 81 02 这样的而不是 81 01,如果支持,自行修改。某些 IP 双向端点可能会占用相同的硬件信息,不一定能同时使用,自行检查。
|
|
|
|
|
|
This dwc2 version does not support dma mode, so stop working
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
-该 DWC2 版本不支持 dma 模式,禁止使用。
|
|
|
+该 DWC2 版本不支持 dma 模式,禁止使用。不使用 DMA 模式会频繁触发 NAK 中断(大概几十us一次),CPU 占用率过高。
|
|
|
+
|
|
|
+OTG 有哪些芯片支持
|
|
|
+------------------------------
|
|
|
+
|
|
|
+当前主线仅 HPM 芯片支持 OTG 功能,通过 ID 引脚自动切换主从模式,其他芯片请使用手动切换模式 OR 自行实现添加 ID 识别的驱动。
|
|
|
+
|
|
|
+PC 识别的 COM 口如何更改名称
|
|
|
+----------------------------------------------------------------
|
|
|
+
|
|
|
+这是微软对 CDC ACM 的驱动问题,无法修改,如需修改,请联系微软并缴纳费用+编写驱动后即可更改。
|
|
|
+
|
|
|
+connect 和 disconnect event 不触发
|
|
|
+----------------------------------------------------------------
|
|
|
+
|
|
|
+当前仅 hpm 芯片支持 connect 和 disconnect 事件,其他芯片请使用 USB 检测 vbus 电路。DWC2 IP 支持,但是由于需要占用引脚,并且大多是log 口,然后不同使能的配置也不一样,因此不做支持。
|
|
|
|
|
|
__has_include 报错
|
|
|
------------------------------------------------------------------
|
|
|
@@ -78,6 +114,7 @@ Failed to enable port
|
|
|
|
|
|
USB_ERR_NAK 说明
|
|
|
----------------------------------------------------------------
|
|
|
+
|
|
|
USB_ERR_NAK 只存在于 DWC2 buffer dma 模式,DWC2 在 buffer dma模式下对于中断传输不支持硬件处理 NAK 中断,因此需要软件处理,导致 NAK 中断非常多,建议搭配定时器使用。
|
|
|
DWC2 scatter/gather dma 模式下全部由硬件处理,但是不支持 split 传输。总结, **半斤 IP**。
|
|
|
|
|
|
@@ -85,14 +122,3 @@ USB host 连接 USB 网卡问题
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
表现为能识别网卡并且分配到 IP 地址,但是无法 ping 通,这是因为网卡自身需要开启自动拨号,通常需要使用 AT 口设置。具体为 EC20/ML307 等模块。
|
|
|
-
|
|
|
-PC 识别的 COM 口如何更改名称
|
|
|
-----------------------------------------------------------------
|
|
|
-
|
|
|
-这是微软对 CDC ACM 的驱动问题,无法修改,如需修改,请联系微软并缴纳费用即可更改。
|
|
|
-
|
|
|
-connect 和 disconnect event 不触发
|
|
|
-----------------------------------------------------------------
|
|
|
-
|
|
|
-当前仅 hpm 芯片支持 connect 和 disconnect 事件,其他芯片请使用 USB 检测 vbus 电路。DWC2 IP 支持,但是由于需要占用引脚,并且大多是log 口,
|
|
|
-然后不同使能的配置也不一样,因此不做支持。
|