docs: update rst

This commit is contained in:
sakumisu
2024-09-11 22:21:44 +08:00
parent 7ec7891fe4
commit 0371bb921c
5 changed files with 68 additions and 6 deletions

View File

@@ -0,0 +1,49 @@
入门必看
==================
首先欢迎大家来到 usb 的世界,在这里你可以学习到 usb 各种知识以及 cherryusb 的移植使用进阶等等。但是呢,刚进来的你,一定很懵懂,因为 USB 很难(其实当你学会了 cherryusb以后你会发现USB 一点都不难),
那么这种情况下,你的学习路线,应该是怎么样呢?在这里,我推荐大家是按照我得学习路线来学习,这样对你的 USB 成长是最有帮助的,并且你也不会中途放弃。
首先,不允许上来就看概念,有句古诗说的好, **纸上得来终觉浅,绝知此事要躬行** ,光看纸面上的东西,你是学不到什么的,只有当自己实践了,你才能更深入的了解这些概念。那么作为初学者,你应该怎么做呢?请看以下步骤。
第一步
-------------
你需要学过 C 语言UART, DMA这是基础如果没学过请去学习不然你会很吃力。你会问 USB 跟 UART/DMA 有什么关系? 我只能说两个字, **等价**
第二步
-------------
下载 demo 工程并跑通能运行, **建议学习慢的,使用 demo 同型号芯片**,学习快的,可以选择自己移植相关支持的型号的芯片。你连 demo 都跑不通,你学什么 USB你说对不对
第三步
---------
非常好,到这步,说明你已经能熟练移植和跑通所有示例了,那么接下来,你应该学习什么呢?请直接跳到 **USB 枚举** 章节,了解下 USB 枚举过程,然后你会知道 USB 的两个概念, **请求****描述符**。群文件有各类设备枚举的抓包,可以下下来看看。
第四步
----------
当你看了 **USB 枚举** 章节并且知道了一个概念, **描述符** 以后,这个时候,你就可以去简单看看什么是描述符,有哪些描述符,然后你需要记住, **设备、配置、接口、端点描述符的组成**,并背下来,其余的你都不需要知道,因为其他都是固定的,后续都是 CV 。
第五步
----------
然后呢,你可以再去看看请求结构体的组成,看看有哪些请求,简单了解即可,为什么呢?因为它不过就是 8 字节的数据格式,大家都会写一个 UART + 自定义协议,那么 USB 的请求也是一样的,只不过是规定好了而已。
第六步
----------
这个时候,你该去熟悉下协议栈的一些 API 了,参考 API 手册章节,记住,都要看完哦
第七步
----------
到这步呢,你肯定已经非常懂了,然后就可以开始你的一些小功能小项目了,在此期间呢,请查看 **USB 知识点拓展** 章节,因为有些东西,他比较重要,也是需要反复说明的。
第八步
----------
都到这步了,你应该不需要我了,这个时候,你可以去看看 USB 概念,看看 USB 的一些细节,看看 CherryUSB 的代码流程了。然后就是巩固巩固再巩固了。恭喜你,出师了!!!