Files
CherryUSB/docs/source/index.rst

157 lines
3.5 KiB
ReStructuredText
Raw Normal View History

2022-02-14 22:39:17 +08:00
.. CherryUSB 使用指南 documentation master file, created by
sphinx-quickstart on Thu Nov 21 10:50:33 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
CherryUSB 使用指南
======================================================
2022-05-02 23:08:57 +08:00
CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈。同时 CherryUSB 具有以下优点:
2022-02-14 22:39:17 +08:00
2023-07-13 20:30:12 +08:00
**易于学习 USB**
2022-04-16 21:17:56 +08:00
2023-07-13 20:30:12 +08:00
为了方便用户学习 USB 基本知识、枚举、驱动加载、IP 驱动,因此,编写的代码具备以下优点:
- 代码精简,逻辑简单,无复杂 C 语言语法
- 树状化编程,代码层层递进
- Class 驱动和 porting 驱动模板化、精简化
- API 分类清晰(从机:初始化、注册类、命令回调类、数据收发类;主机:初始化、查找类、数据收发类)
**易于使用 USB**
为了方便用户使用 USB 接口,考虑到用户学习过 uart 和 dma因此设计的数据收发类接口具备以下优点
- 等价于使用 uart tx dma/uart rx dma
- 收发长度没有限制,用户不需要关心 USB 分包过程porting 驱动做分包过程)
**易于发挥 USB 性能**
考虑到 USB 性能问题,尽量达到 USB 硬件理论带宽,因此,设计的数据收发类接口具备以下优点:
- Porting 驱动直接对接寄存器,无抽象层封装
- Memory zero copy
- IP 如果带 DMA 则使用 DMA 模式DMA 带硬件分包功能)
- 长度无限制,方便对接硬件 DMA 并且发挥 DMA 的优势
- 分包功能在中断中处理
**从机协议栈整体执行流程**
2022-10-02 14:57:47 +08:00
.. figure:: usbdev.svg
2023-07-13 20:30:12 +08:00
**主机协议栈整体执行流程**
2022-10-02 14:57:47 +08:00
.. figure:: usbhost.svg
2023-07-13 20:30:12 +08:00
**其他相关链接**
2022-04-16 21:17:56 +08:00
2022-12-04 14:25:59 +08:00
- **CherryUSB 大纲** https://www.bilibili.com/video/BV1st4y1H7K2
2024-03-17 22:54:04 +08:00
- **CherryUSB 从机协议栈视频教程** https://www.bilibili.com/video/BV1Ef4y1t73d
- **CherryUSB 腾讯会议** https://www.bilibili.com/video/BV16x421y7mM
2022-05-02 23:08:57 +08:00
- **github** https://github.com/sakumisu/CherryUSB
2022-04-10 18:05:49 +08:00
2022-02-14 22:39:17 +08:00
.. toctree::
2022-04-04 22:33:06 +08:00
:maxdepth: 1
2022-03-26 21:36:56 +08:00
:caption: 快速上手
2022-02-14 22:39:17 +08:00
2024-09-11 22:21:44 +08:00
quick_start/start
2024-09-08 00:17:55 +08:00
quick_start/demo
quick_start/transplant
quick_start/rtthread
quick_start/esp
2024-07-23 20:13:28 +08:00
q&a
opensource
2024-11-21 21:33:38 +08:00
share
2022-02-14 22:39:17 +08:00
2022-02-15 21:07:42 +08:00
.. toctree::
:maxdepth: 1
:caption: USB 基本知识点
2022-07-13 22:46:24 +08:00
usb/usb2.0_basic
usb/usb3.0_basic
2022-02-15 21:07:42 +08:00
usb/usb_desc
usb/usb_request
usb/usb_enum
2024-08-21 20:04:18 +08:00
usb/usb_ext
2022-05-14 22:50:27 +08:00
2022-02-14 22:39:17 +08:00
.. toctree::
:maxdepth: 1
:caption: API 手册
api/api_device
api/api_host
2022-05-14 22:50:27 +08:00
api/api_port
api/api_config
2022-02-14 22:39:17 +08:00
.. toctree::
:maxdepth: 1
:caption: Class 指南
class/class_cdc
class/class_hid
class/class_msc
class/class_audio
class/class_video
class/winusb
.. toctree::
:maxdepth: 1
2024-09-08 00:17:55 +08:00
:caption: 例程说明
demo/usbd_cdc_acm
demo/usbd_hid
demo/usbd_msc
demo/usbd_rndis
demo/usbd_ecm
demo/usbd_audiov1
demo/usbd_audiov2
demo/usbd_video
demo/usbd_winusb
demo/usbd_webusb
demo/usbd_adb
2024-09-08 00:17:55 +08:00
demo/usbh_serial
demo/usbh_hid
demo/usbh_msc
demo/usbh_net
demo/usbh_bluetooth
demo/usbh_wifi
2024-12-04 23:04:12 +08:00
demo/usbd_vendor
demo/usbh_vendor
2022-02-15 21:07:42 +08:00
.. toctree::
:maxdepth: 1
2024-09-08 00:17:55 +08:00
:caption: USBIP 介绍
usbip/ohci
usbip/ehci
usbip/xhci
usbip/chipidea
usbip/dwc2
usbip/musb
usbip/fotg210
usbip/cdns2
usbip/cdns3
usbip/dwc3
2022-05-28 22:36:29 +08:00
.. toctree::
:maxdepth: 1
:caption: 工具使用
2024-05-17 17:03:50 +08:00
tools/index
2024-09-08 00:17:55 +08:00
.. toctree::
:maxdepth: 1
:caption: 版本说明
version
.. toctree::
:maxdepth: 1
:caption: 性能展示
show/index
2024-05-17 17:03:50 +08:00
.. toctree::
:maxdepth: 1
:caption: 商业支持
2024-06-06 22:38:47 +08:00
support/index