From 5c64b99fddbfe5eb16dba5ea08800cba10023027 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Sat, 14 May 2022 22:50:27 +0800 Subject: [PATCH] update doc --- docs/source/api/api_config.rst | 116 +++++++++ docs/source/api/api_device.rst | 14 +- docs/source/api/api_host.rst | 16 +- docs/source/api/api_port.rst | 328 +++++++++++++++++++++++++ docs/source/api/img/api_host1.png | Bin 0 -> 43480 bytes docs/source/api/img/api_host2.png | Bin 0 -> 46429 bytes docs/source/index.rst | 4 + docs/source/porting_usbip.rst | 2 +- docs/source/quick_start/other_chip.rst | 8 +- docs/source/usb/usb_basic.rst | 1 + 10 files changed, 473 insertions(+), 16 deletions(-) create mode 100644 docs/source/api/api_config.rst create mode 100644 docs/source/api/api_port.rst create mode 100644 docs/source/api/img/api_host1.png create mode 100644 docs/source/api/img/api_host2.png diff --git a/docs/source/api/api_config.rst b/docs/source/api/api_config.rst new file mode 100644 index 00000000..d7754fd0 --- /dev/null +++ b/docs/source/api/api_config.rst @@ -0,0 +1,116 @@ +USB CONFIG 宏 +========================= + + +设备相关 CONFIG 宏 +--------------------- + +.. code-block:: C + + /* USB DEVICE Configuration */ + /* core */ + #ifndef CONFIG_USBDEV_REQUEST_BUFFER_LEN + #define CONFIG_USBDEV_REQUEST_BUFFER_LEN 256 + #endif + + #ifndef CONFIG_USBDEV_DESC_CHECK + #define CONFIG_USBDEV_DESC_CHECK 0 + #endif + + #ifndef CONFIG_USBDEV_TEST_MODE + #define CONFIG_USBDEV_TEST_MODE 0 + #endif + + /* msc class */ + #ifndef CONFIG_USBDEV_MSC_MANUFACTURER_STRING + #define CONFIG_USBDEV_MSC_MANUFACTURER_STRING "" + #endif + + #ifndef CONFIG_USBDEV_MSC_PRODUCT_STRING + #define CONFIG_USBDEV_MSC_PRODUCT_STRING "" + #endif + + #ifndef CONFIG_USBDEV_MSC_VERSION_STRING + #define CONFIG_USBDEV_MSC_VERSION_STRING "0.01" + #endif + + /* audio class */ + #ifndef CONFIG_USBDEV_AUDIO_VERSION + #define CONFIG_USBDEV_AUDIO_VERSION 0x0100 + #endif + + #ifndef CONFIG_USBDEV_AUDIO_MAX_CHANNEL + #define CONFIG_USBDEV_AUDIO_MAX_CHANNEL 2 + #endif + + +主机相关 CONFIG 宏 +--------------------- + +.. code-block:: C + + /* USB HOST Configuration */ + #ifndef CONFIG_USBHOST_RHPORTS + #define CONFIG_USBHOST_RHPORTS 1 + #endif + + #ifndef CONFIG_USBHOST_EHPORTS + #define CONFIG_USBHOST_EHPORTS 4 + #endif + + #ifndef CONFIG_USBHOST_PIPE_NUM + #define CONFIG_USBHOST_PIPE_NUM 10 + #endif + + #ifndef CONFIG_USBHOST_INTF_NUM + #define CONFIG_USBHOST_INTF_NUM 6 + #endif + + #ifndef CONFIG_USBHOST_EP_NUM + #define CONFIG_USBHOST_EP_NUM 4 + #endif + + #ifndef CONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT + #define CONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT 5000 + #endif + + #ifndef CONFIG_USBHOST_MSC_TIMEOUT + #define CONFIG_USBHOST_MSC_TIMEOUT 5000 + #endif + + #ifndef CONFIG_USBHOST_HPWORKQ_PRIO + #define CONFIG_USBHOST_HPWORKQ_PRIO 5 + #endif + #ifndef CONFIG_USBHOST_HPWORKQ_STACKSIZE + #define CONFIG_USBHOST_HPWORKQ_STACKSIZE 2048 + #endif + + #ifndef CONFIG_USBHOST_LPWORKQ_PRIO + #define CONFIG_USBHOST_LPWORKQ_PRIO 1 + #endif + #ifndef CONFIG_USBHOST_LPWORKQ_STACKSIZE + #define CONFIG_USBHOST_LPWORKQ_STACKSIZE 2048 + #endif + + #ifndef CONFIG_USBHOST_PSC_PRIO + #define CONFIG_USBHOST_PSC_PRIO 4 + #endif + #ifndef CONFIG_USBHOST_PSC_STACKSIZE + #define CONFIG_USBHOST_PSC_STACKSIZE 4096 + #endif + + #ifndef CONFIG_USBHOST_DEV_NAMELEN + #define CONFIG_USBHOST_DEV_NAMELEN 16 + #endif + + #define CONFIG_USBHOST_ASYNCH + //#define CONFIG_USBHOST_GET_STRING_DESC + + /* EHCI Configuration */ + #define CONFIG_USB_EHCI_HCCR_BASE (0x20072000) + #define CONFIG_USB_EHCI_HCOR_BASE (0x20072000 + 0x10) + #define CONFIG_USB_EHCI_QH_NUM (10) + #define CONFIG_USB_EHCI_QTD_NUM (10) + // #define CONFIG_USB_EHCI_INFO_ENABLE + #define CONFIG_USB_ECHI_HCOR_RESERVED_DISABLE + // #define CONFIG_USB_EHCI_CONFIGFLAG \ No newline at end of file diff --git a/docs/source/api/api_device.rst b/docs/source/api/api_device.rst index ea243edc..42830f6c 100644 --- a/docs/source/api/api_device.rst +++ b/docs/source/api/api_device.rst @@ -260,8 +260,9 @@ usbd_cdc_acm_set_line_coding .. code-block:: C - void usbd_cdc_acm_set_line_coding(uint32_t baudrate, uint8_t databits, uint8_t parity, uint8_t stopbits); + void usbd_cdc_acm_set_line_coding(uint8_t intf, uint32_t baudrate, uint8_t databits, uint8_t parity, uint8_t stopbits); +- **intf** 控制接口号 - **baudrate** 波特率 - **databits** 数据位 - **parity** 校验位 @@ -274,8 +275,9 @@ usbd_cdc_acm_set_dtr .. code-block:: C - void usbd_cdc_acm_set_dtr(bool dtr); + void usbd_cdc_acm_set_dtr(uint8_t intf, bool dtr); +- **intf** 控制接口号 - **dtr** dtr 为1表示拉低电平,为0表示拉高电平 usbd_cdc_acm_set_rts @@ -285,8 +287,9 @@ usbd_cdc_acm_set_rts .. code-block:: C - void usbd_cdc_acm_set_rts(bool rts); + void usbd_cdc_acm_set_rts(uint8_t intf, bool rts); +- **intf** 控制接口号 - **rts** rts 为1表示拉低电平,为0表示拉高电平 CDC_ACM_DESCRIPTOR_INIT @@ -597,5 +600,8 @@ usbd_video_mjpeg_payload_fill DFU ----------------- -PORTING +PRINTER +----------------- + +MTP ----------------- \ No newline at end of file diff --git a/docs/source/api/api_host.rst b/docs/source/api/api_host.rst index fdee2c18..92c42d00 100644 --- a/docs/source/api/api_host.rst +++ b/docs/source/api/api_host.rst @@ -1,6 +1,11 @@ 主机协议栈 ========================= +关于主机协议栈中结构体的命名、分类、成员组成,参考下面这两张图: + +.. figure:: img/api_host1.png +.. figure:: img/api_host2.png + CORE ----------------- @@ -94,7 +99,7 @@ hub 结构体 usbh_event_notify_handler """""""""""""""""""""""""""""""""""" -``usbh_event_notify_handler`` 是 USB 中断中的核心,用于处理不同的中断标志。包括复位、端点0 IN/OUT/SETUP、其他端点 IN/OUT 、SUSPEND、RESUME、SOF 中断等等。用于需要在 porting 接口中的 USB中断中调用该接口。 +``usbh_event_notify_handler`` 是 USB 中断中的核心,主要用于处理 **设备连接** 和 **设备断开** 中断,从而唤醒线程去执行枚举。 .. code-block:: C @@ -115,7 +120,7 @@ usbh_event_notify_handler usbh_initialize """""""""""""""""""""""""""""""""""" -``usbh_initialize`` 用来初始化 usb 主机协议栈,包括:创建插拔检测用的信号量和枚举线程、高低工作队列、初始化 roothub端点0 配置,初始化 usb 主机控制器。 +``usbh_initialize`` 用来初始化 usb 主机协议栈,包括:创建插拔检测用的信号量和枚举线程、高低工作队列、初始化 roothub 端点0 配置,初始化 usb 主机控制器。 .. code-block:: C @@ -151,11 +156,8 @@ HID MSC ----------------- -UAC +RNDIS ----------------- -UVC ------------------ - -PORTING +PRINTER ----------------- \ No newline at end of file diff --git a/docs/source/api/api_port.rst b/docs/source/api/api_port.rst new file mode 100644 index 00000000..294b0eb2 --- /dev/null +++ b/docs/source/api/api_port.rst @@ -0,0 +1,328 @@ +Porting +========================= + +device controller(dcd) +------------------------- + +usb_dc_init +"""""""""""""""""""""""""""""""""""" + +``usb_dc_init`` 用于初始化 usb device controller 寄存器,设置 usb 引脚、时钟、中断等等。 **此函数不对用户开放**。 + +.. code-block:: C + + int usb_dc_init(void); + +- **return** + +usb_dc_deinit +"""""""""""""""""""""""""""""""""""" + +``usb_dc_deinit`` 用于反初始化 usb device controller 寄存器。 **此函数不对用户开放**。 + +.. code-block:: C + + int usb_dc_deinit(void); + +- **return** + +usb_dc_attach +"""""""""""""""""""""""""""""""""""" + +``usb_dc_attach`` 使能上拉或者下拉电阻,从而能够让设备被主机枚举。 **此函数对用户开放**。 + +.. code-block:: C + + int usb_dc_attach(void); + +- **return** + +usb_dc_detach +"""""""""""""""""""""""""""""""""""" + +``usb_dc_detach``断开设备与主机的连接。 **此函数对用户开放**。 + +.. code-block:: C + + int usb_dc_detach(void); + +- **return** + +usbd_set_address +"""""""""""""""""""""""""""""""""""" + +``usbd_set_address`` 设置设备地址。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbd_set_address(const uint8_t addr); + +- **return** + +usbd_ep_open +"""""""""""""""""""""""""""""""""""" + +``usbd_ep_open`` 设置端点的属性,开启对应端点的中断。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbd_ep_open(const struct usbd_endpoint_cfg *ep_cfg); + +- **return** + +usbd_ep_close +"""""""""""""""""""""""""""""""""""" + +``usbd_ep_close`` 关闭端点。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbd_ep_close(const uint8_t ep); + +- **event** + +usbd_ep_set_stall +"""""""""""""""""""""""""""""""""""" + +``usbd_ep_set_stall`` 将端点设置成 stall 状态并发送 stall 握手包。 **此函数对用户开放**。 + +.. code-block:: C + + int usbd_ep_set_stall(const uint8_t ep); + +- **ep** 端点地址 + +usbd_ep_clear_stall +"""""""""""""""""""""""""""""""""""" + +``usbd_ep_clear_stall`` 清除端点的 stall 状态。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbd_ep_clear_stall(const uint8_t ep); + +- **ep** 端点地址 + +usbd_ep_is_stalled +"""""""""""""""""""""""""""""""""""" + +``usbd_ep_is_stalled`` 读取当前端点的 stall 状态。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbd_ep_is_stalled(const uint8_t ep, uint8_t *stalled); + +- **ep** 端点地址 +- **return** 返回 1 表示 stalled,0 表示没有 stall + +usbd_ep_write +"""""""""""""""""""""""""""""""""""" + +``usbd_ep_write`` 向某个端点发送数据, **如果该函数在中断中使用则是异步传输,否则是阻塞传输**。 **此函数对用户开放**。 + +.. code-block:: C + + int usbd_ep_write(const uint8_t ep, const uint8_t *data, uint32_t data_len, uint32_t *ret_bytes); + +- **ep** in 端点地址 +- **data** 要发送的数据缓冲区 +- **data_len** 发送长度,需要小于等于端点最大包长 +- **ret_bytes** 实际发送的长度,异步传输该参数无效。 **如果长度为 0,表示发送 0 长数据包(zero length packet)** +- **return** 返回 0 表示正确,其他表示错误 + +usbd_ep_read +"""""""""""""""""""""""""""""""""""" + +``usbd_ep_read`` 从某个端点接收数据, **该函数仅能在 usb out 中断中使用**。 **此函数对用户开放**。 + +.. code-block:: C + + int usbd_ep_read(const uint8_t ep, uint8_t *data, uint32_t max_data_len, uint32_t *read_bytes); + +- **ep** out 端点地址 +- **data** 要接收的数据缓冲区 +- **data_len** 接收长度,需要小于等于端点最大包长,推荐直接设置成最大包长。 **如果长度为 0 表示启动下次接收** +- **ret_bytes** 实际接收的长度 +- **return** 返回 0 表示正确,其他表示错误 + +host controller(hcd) +------------------------ + +usb_hc_init +"""""""""""""""""""""""""""""""""""" + +``usb_hc_init`` 用于初始化 usb host controller 寄存器,设置 usb 引脚、时钟、中断等等。 **此函数不对用户开放**。 + +.. code-block:: C + + int usb_hc_init(void); + +- **return** 返回 0 表示正确,其他表示错误 + +usbh_get_port_connect_status +"""""""""""""""""""""""""""""""""""" + +``usbh_get_port_connect_status`` 获取当前 hubport 连接状态。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbh_get_port_connect_status(const uint8_t port); + +- **port** 端口号 +- **return** 返回 1 表示连接,0 表示未连接 + +usbh_reset_port +"""""""""""""""""""""""""""""""""""" + +``usbh_reset_port`` 复位指定的 hubport **此函数不对用户开放**。 + +.. code-block:: C + + int usbh_reset_port(const uint8_t port); + +- **port** 端口号 +- **return** 返回 0 表示正确,其他表示错误 + +usbh_get_port_speed +"""""""""""""""""""""""""""""""""""" + +``usbh_get_port_speed`` 获取当前 hubport 上连接的设备速度。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbh_get_port_speed(const uint8_t port); + +- **port** 端口号 +- **return** 返回 1 表示低速,2 表示全速,3 表示高速 + +usbh_ep0_reconfigure +"""""""""""""""""""""""""""""""""""" + +``usbh_ep0_reconfigure`` 重新设置端点 0 的属性。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbh_ep0_reconfigure(usbh_epinfo_t ep, uint8_t dev_addr, uint8_t ep_mps, uint8_t speed); + +- **ep** 端点信息 +- **dev_addr** 端点所在设备地址 +- **ep_mps** 端点最大包长 +- **speed** 端点所在设备的速度 +- **return** 返回 0 表示正确,其他表示错误 + +usbh_ep_alloc +"""""""""""""""""""""""""""""""""""" + +``usbh_ep_alloc`` 为端点分配相关属性,初始化相关寄存器,并保存相关信息到 **ep** 句柄中。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbh_ep_alloc(usbh_epinfo_t *ep, const struct usbh_endpoint_cfg *ep_cfg); + +- **ep** 端点信息 +- **ep_cfg** 端点初始化需要的一些信息 +- **return** 返回 0 表示正确,其他表示错误 + +usbh_ep_free +"""""""""""""""""""""""""""""""""""" + +``usbh_ep_free`` 释放端点的一些属性。 **此函数不对用户开放**。 + +.. code-block:: C + + int usbh_ep_free(usbh_epinfo_t ep); + +- **ep** 端点信息 +- **return** 返回 0 表示正确,其他表示错误 + +usbh_control_transfer +"""""""""""""""""""""""""""""""""""" + +``usbh_control_transfer`` 对端点 0 进行控制传输,并且 **此函数为阻塞式传输,默认超时时间 5s**。 **此函数对用户开放**。 + +.. code-block:: C + + int usbh_control_transfer(usbh_epinfo_t ep, struct usb_setup_packet *setup, uint8_t *buffer); + +- **ep** 端点信息 +- **setup** setup 包 +- **buffer** 要发送或者读取的数据缓冲区,为 NULL 表示没有数据要发送或者接收 +- **return** 返回 0 表示正确,其他表示错误 + +usbh_ep_bulk_transfer +"""""""""""""""""""""""""""""""""""" + +``usbh_ep_bulk_transfer`` 对指定端点进行批量传输, **此函数为阻塞式传输**。 **此函数对用户开放**。 + +.. code-block:: C + + int usbh_ep_bulk_transfer(usbh_epinfo_t ep, uint8_t *buffer, uint32_t buflen, uint32_t timeout); + +- **ep** 端点信息 +- **buffer** 要发送或者读取的数据缓冲区 +- **buflen** 要发送或者接收的长度,最大不得高于 16K +- **timeout** 超时时间,单位 ms +- **return** 大于等于0 表示实际发送或者接收的长度,小于 0 表示错误 + +其中小于 0 的错误码如下: + +.. list-table:: + :widths: 30 30 + :header-rows: 1 + + * - ERROR CODE + - desc + * - ENODEV + - 设备未连接 + * - EBUSY + - 当前数据发送或者接收还未完成 + * - EAGAIN + - 主机一直收到 NAK 包 + * - ETIMEDOUT + - 数据发送或者接收超时 + * - EPERM + - 主机收到 STALL 包 + * - EIO + - 数据传输错误 + * - EPIPE + - 数据溢出 + * - ENXIO + - 设备断开,传输中止 + +usbh_ep_intr_transfer +"""""""""""""""""""""""""""""""""""" + +``usbh_ep_intr_transfer`` 同上。 + +usbh_ep_bulk_async_transfer +"""""""""""""""""""""""""""""""""""" + +``usbh_ep_bulk_async_transfer`` 对指定端点进行批量传输,传输完成将触发指定回调函数, **此函数为异步传输**。 **此函数对用户开放**。 + +.. code-block:: C + + int usbh_ep_bulk_async_transfer(usbh_epinfo_t ep, uint8_t *buffer, uint32_t buflen, usbh_asynch_callback_t callback, void *arg); + +- **ep** 端点信息 +- **buffer** 要发送或者读取的数据缓冲区 +- **buflen** 要发送或者接收的长度,最大不得高于 16K +- **callback** 传输完成回调函数, **该函数最终处于中断上下文** +- **arg** 用户自定义参数 +- **return** 为 0 表示配置正常,小于0 表示错误 + +usbh_ep_intr_async_transfer +"""""""""""""""""""""""""""""""""""" + +``usbh_ep_intr_async_transfer`` 同上。 + +usb_ep_cancel +"""""""""""""""""""""""""""""""""""" + +``usb_ep_cancel`` 中止当前端点传输, **此函数不对用户开放**。 + +.. code-block:: C + + int usb_ep_cancel(usbh_epinfo_t ep); + +- **ep** 端点信息 +- **return** 为 0 表示正确,小于0 表示错误 diff --git a/docs/source/api/img/api_host1.png b/docs/source/api/img/api_host1.png new file mode 100644 index 0000000000000000000000000000000000000000..82932f50caa3f69bfa0bd4ab518d9326b3fc43a0 GIT binary patch literal 43480 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 Y0Kw1Eh)o=>ZU6uP07*qoM6N<$f)Q0&Qvd(} literal 0 HcmV?d00001 diff --git a/docs/source/api/img/api_host2.png b/docs/source/api/img/api_host2.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6d60b87b1291cd0626ede7886bea4da0819d4c GIT binary patch literal 46429 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 中提供的第五章、第七章、第八章、第九章进行讲解。 +如果是初学 usb 的同学,推荐先不要看本节,而是将示例 demo 能够跑通了,熟悉了使用,再来看。 简介 ---------