@@ -40,6 +40,8 @@ Taking into account USB performance issues and trying to achieve the theoretical
|
|||||||
- Unlimited length make it easier to interface with hardware DMA and take advantage of DMA
|
- Unlimited length make it easier to interface with hardware DMA and take advantage of DMA
|
||||||
- Packetization is handled in interrupt
|
- Packetization is handled in interrupt
|
||||||
|
|
||||||
|
Performance show:https://cherryusb.cherry-embedded.org/show/
|
||||||
|
|
||||||
## Directory Structure
|
## Directory Structure
|
||||||
|
|
||||||
| Directory | Description |
|
| Directory | Description |
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统(
|
|||||||
- 长度无限制,方便对接硬件 DMA 并且发挥 DMA 的优势
|
- 长度无限制,方便对接硬件 DMA 并且发挥 DMA 的优势
|
||||||
- 分包过程在中断中执行
|
- 分包过程在中断中执行
|
||||||
|
|
||||||
|
性能展示:https://cherryusb.cherry-embedded.org/show/
|
||||||
|
|
||||||
## 目录结构
|
## 目录结构
|
||||||
|
|
||||||
| 目录名 | 描述 |
|
| 目录名 | 描述 |
|
||||||
|
|||||||
@@ -10,11 +10,12 @@ Q & A
|
|||||||
|
|
||||||
提问中请包含以下信息:
|
提问中请包含以下信息:
|
||||||
|
|
||||||
|
- 使用的版本
|
||||||
- 使用的板子,引脚,USB IP
|
- 使用的板子,引脚,USB IP
|
||||||
- 是否配置 USB 中断,USB 时钟,USB 引脚,USB phy 配置,以及 USB 寄存器地址是否正确,截图
|
- 是否配置 USB 中断,USB 时钟,USB 引脚,USB phy 配置,以及 USB 寄存器地址是否正确,截图
|
||||||
- 是否能进 USB 中断
|
- 是否能进 USB 中断
|
||||||
- 芯片是否带有 cache功能,是否做了 no cache 处理,截图
|
- 芯片是否带有 cache功能,是否做了 no cache 处理,截图
|
||||||
- 硬件是否正常,是否使用杜邦线连接,如果正常,请说明正常原因
|
- USB 电路是否画正确,是否使用杜邦线连接,是否直连,如果正常,请说明正常原因
|
||||||
- 如果能进中断,配置 **#define CONFIG_USB_DBG_LEVEL USB_DBG_LOG** 并提供 log,仅限商业 IP, 其余 IP 禁止开启 log,否则无法枚举
|
- 如果能进中断,配置 **#define CONFIG_USB_DBG_LEVEL USB_DBG_LOG** 并提供 log,仅限商业 IP, 其余 IP 禁止开启 log,否则无法枚举
|
||||||
- 是否流片并销售
|
- 是否流片并销售
|
||||||
|
|
||||||
@@ -65,7 +66,6 @@ CONFIG_USB_HS 何时使用
|
|||||||
|
|
||||||
当你的芯片硬件支持高速,并想初始化成高速模式时开启,相关 IP 会根据该宏配置内部或者外部 高速 PHY。
|
当你的芯片硬件支持高速,并想初始化成高速模式时开启,相关 IP 会根据该宏配置内部或者外部 高速 PHY。
|
||||||
|
|
||||||
|
|
||||||
Failed to enable port
|
Failed to enable port
|
||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
@@ -75,3 +75,24 @@ Failed to enable port
|
|||||||
----------------------------------------------------------------
|
----------------------------------------------------------------
|
||||||
|
|
||||||
检查 phy 配置,cache 配置(如果有),电源供电(建议自供电)
|
检查 phy 配置,cache 配置(如果有),电源供电(建议自供电)
|
||||||
|
|
||||||
|
USB_ERR_NAK 说明
|
||||||
|
----------------------------------------------------------------
|
||||||
|
USB_ERR_NAK 只存在于 DWC2 buffer dma 模式,DWC2 在 buffer dma模式下对于中断传输不支持硬件处理 NAK 中断,因此需要软件处理,导致 NAK 中断非常多,建议搭配定时器使用。
|
||||||
|
DWC2 scatter/gather dma 模式下全部由硬件处理,但是不支持 split 传输。总结, **半斤 IP**。
|
||||||
|
|
||||||
|
USB host 连接 USB 网卡问题
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
表现为能识别网卡并且分配到 IP 地址,但是无法 ping 通,这是因为网卡自身需要开启自动拨号,通常需要使用 AT 口设置。具体为 EC20/ML307 等模块。
|
||||||
|
|
||||||
|
PC 识别的 COM 口如何更改名称
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
这是微软对 CDC ACM 的驱动问题,无法修改,如需修改,请联系微软并缴纳费用即可更改。
|
||||||
|
|
||||||
|
connect 和 disconnect event 不触发
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
当前仅 hpm 芯片支持 connect 和 disconnect 事件,其他芯片请使用 USB 检测 vbus 电路。DWC2 IP 支持,但是由于需要占用引脚,并且大多是log 口,
|
||||||
|
然后不同使能的配置也不一样,因此不做支持。
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# Note
|
# Note
|
||||||
|
|
||||||
If you are using more than one port, all ip parameters must be the same(like fifo num, endpoint num, dma support and so on), otherwise give up using multi ports.
|
Please note that host must support dma mode.
|
||||||
|
|
||||||
## Support Chip List
|
## Support Chip List
|
||||||
|
|
||||||
## STM32
|
### STM32
|
||||||
|
|
||||||
**有且仅有 PB14/PB15 引脚支持 host 模式, 部分 F7/H7 可能 PA11/PA12 也支持**。
|
**有且仅有 PB14/PB15 引脚支持 host 模式, 部分 F7/H7 可能 PA11/PA12 也支持**。
|
||||||
|
|
||||||
@@ -16,13 +16,13 @@ If you are using more than one port, all ip parameters must be the same(like fif
|
|||||||
- STM32L4xx
|
- STM32L4xx
|
||||||
- STM32U5xx
|
- STM32U5xx
|
||||||
|
|
||||||
## AT32
|
### AT32
|
||||||
|
|
||||||
**有且仅有 AT32F405xx PB14/PB15引脚支持 host 模式**。
|
**有且仅有 AT32F405xx PB14/PB15引脚支持 host 模式**。
|
||||||
|
|
||||||
- AT32F402xx、AT32F405xx、AT32F415xx、AT32F423xx、AT32F425xx、AT32F435xx、AT32F437xx
|
- AT32F402xx、AT32F405xx、AT32F415xx、AT32F423xx、AT32F425xx、AT32F435xx、AT32F437xx
|
||||||
|
|
||||||
## GD32
|
### GD32
|
||||||
|
|
||||||
**由于无法读取 DWC2 配置信息,并且有部分寄存器是非标准的,因此暂时无法支持 GD 系列**。
|
**由于无法读取 DWC2 配置信息,并且有部分寄存器是非标准的,因此暂时无法支持 GD 系列**。
|
||||||
|
|
||||||
@@ -30,22 +30,22 @@ If you are using more than one port, all ip parameters must be the same(like fif
|
|||||||
- GD32F405、GD32F407
|
- GD32F405、GD32F407
|
||||||
- GD32F350、GD32F450
|
- GD32F350、GD32F450
|
||||||
|
|
||||||
## HC32
|
### HC32
|
||||||
|
|
||||||
- HC32F4A0
|
- HC32F4A0
|
||||||
|
|
||||||
## Espressif
|
### Espressif
|
||||||
|
|
||||||
- ESP32S2、ESP32S3、ESP32P4
|
- ESP32S2、ESP32S3、ESP32P4
|
||||||
|
|
||||||
## Sophgo
|
### Sophgo
|
||||||
|
|
||||||
- CV18xx
|
- CV18xx
|
||||||
|
|
||||||
## Kendryte
|
### Kendryte
|
||||||
|
|
||||||
- K230
|
- K230
|
||||||
|
|
||||||
## Nationstech
|
### Nationstech
|
||||||
|
|
||||||
- N32H4X
|
- N32H4X
|
||||||
@@ -17,3 +17,7 @@
|
|||||||
### AllwinnerTech
|
### AllwinnerTech
|
||||||
|
|
||||||
- F1Cxxx, F2Cxxx
|
- F1Cxxx, F2Cxxx
|
||||||
|
|
||||||
|
### SIFLI
|
||||||
|
|
||||||
|
- SF325X
|
||||||
|
|||||||
@@ -12,6 +12,6 @@ Modify USB_NOCACHE_RAM_SECTION
|
|||||||
|
|
||||||
- MCXN9XX/MCXN236 (chipidea + EHCI)
|
- MCXN9XX/MCXN236 (chipidea + EHCI)
|
||||||
|
|
||||||
## IMRT
|
### IMRT
|
||||||
|
|
||||||
- IMRT10XX/IMRT11XX (chipidea + EHCI)
|
- IMRT10XX/IMRT11XX (chipidea + EHCI)
|
||||||
Reference in New Issue
Block a user