blob: bf88bb3e505fb12fcb014272e53c2a66d532b8bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
.. 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 使用指南
======================================================
CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统的 USB 主从协议栈。同时 CherryUSB 具有以下优点:
- 比较全面的 class 驱动,并且 class 驱动全部模板化,方便学习和自主添加
- 树状化编程,方便理清 class 驱动与接口、端点的关系,hub、port、class 之间的关系;代码层层递进,调用关系一目了然,方便理清 usb 枚举过程和 class 驱动加载
- 设备协议栈的使用简化到类如 uart 、dma 的使用,主机协议栈的使用简化到文件的使用
- 标准化的 porting 接口,同时面向 ip 化编程,相同 ip 无需重复编写驱动
- Api 少,分类清晰:dcd/hcd api、注册 api、命令回调 api
- 代码精简,内存占用极小,同时能够达到 usb 硬件能够达到的最大带宽
其他相关链接:
- **从机协议栈视频教程** https://www.bilibili.com/video/BV1Ef4y1t73d
- **主机协议栈视频教程** TODO
- **github** https://github.com/sakumisu/CherryUSB
.. toctree::
:maxdepth: 1
:caption: 快速上手
quick_start/bl702
quick_start/stm32
quick_start/es32
quick_start/rt-thread/rtthread
quick_start/other_chip
.. toctree::
:maxdepth: 1
:caption: USB 基本知识点
usb/usb_basic
usb/usb_desc
usb/usb_request
usb/usb_enum
.. toctree::
:maxdepth: 1
:caption: API 手册
api/api_device
api/api_host
api/api_port
api/api_common
api/api_config
.. 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
:caption: 综合例程
demo/usb2uart
demo/mouse_keyboard
demo/msc_boot
demo/video
demo/speaker_mic
demo/daplink
.. toctree::
:maxdepth: 1
:caption: Porting 说明
porting
porting_usbip
.. toctree::
:maxdepth: 1
:caption: 工具使用
tools/index
|