From 97a921583fdd11a779648107ec415040876730cb Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Sun, 2 Oct 2022 14:57:47 +0800 Subject: [PATCH] add structure svg --- docs/source/index.rst | 8 ++++++++ docs/source/usbdev.svg | 21 +++++++++++++++++++++ docs/source/usbhost.svg | 9 +++++++++ 3 files changed, 38 insertions(+) create mode 100644 docs/source/usbdev.svg create mode 100644 docs/source/usbhost.svg diff --git a/docs/source/index.rst b/docs/source/index.rst index 208416e0..43d12ce3 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -16,6 +16,14 @@ CherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统的 - 主从收发接口的使用等价于 uart tx/rx dma 的使用,长度也没有限制 - 能够达到 USB 硬件理论带宽 +从机协议栈整体执行流程: + +.. figure:: usbdev.svg + +主机协议栈整体执行流程: + +.. figure:: usbhost.svg + 其他相关链接: - **从机协议栈视频教程** https://www.bilibili.com/video/BV1Ef4y1t73d diff --git a/docs/source/usbdev.svg b/docs/source/usbdev.svg new file mode 100644 index 00000000..d9fa9549 --- /dev/null +++ b/docs/source/usbdev.svg @@ -0,0 +1,21 @@ +usbd_desc_registerusbd_desc_register +usbd_add_interfaceusbd_add_interface +usbd_initializeusbd_initialize +usbd_add_endpointusbd_add_endpoint +Listclass_interface_handlerclass_endpoint_handlervendor_handlernotify_handlerhid_report_descriptorhid_report_descriptor_lenintf_numusbd_intf_headappend into listappend into listin_ep_cb[8]out_ep_cb[8]in_ep_cb[8]...fill ep callbackfill ep callbackusb_dc_initusb_dc_init +USBD_IRQHandlerUSBD_IRQHandler +SETUP complete intstatusSETUP complete intstatusIN complete intstatusIN complete intstatus +OUT complete intstatusOUT complete intstatus +usbd_event_reset_handlerusbd_event_reset_handler +RESET complete intstatusRESET complete intstatususbd_event_ep0_setup_complete_handlerusbd_event_ep0_setup_complete_handler +usbd_event_ep_in_complete_handlerusbd_event_ep_in_complete_handler +usbd_event_ep_out_complete_handlerusbd_event_ep_out_complete_handler +enable ep0start reading setupenable ep0...usbd_setup_request_handlerusbd_setup_request_handler +usbd_standard_request_handlerusbd_standard_request_handler +usbd_class_request_handlerusbd_class_request_handler +usbd_vendor_request_handlerusbd_vendor_request_handler +usbd_class_interface_request_handlerusbd_class_interface_request_handler +usbd_class_endpoint_request_handlerusbd_class_endpoint_request_handler +if ep != 0x80if ep != 0x80if ep != 0x00if ep != 0x00in_ep_cb[ep & 0x7f]in_ep_cb[ep & 0x7f] +out_ep_cb[ep & 0x7f]out_ep_cb[ep & 0x7f] +NULLNULLListclass_interface_handlerclass_endpoint_handlervendor_handlernotify_handlerhid_report_descriptorhid_report_descriptor_lenintf_numViewer does not support full SVG 1.1 \ No newline at end of file diff --git a/docs/source/usbhost.svg b/docs/source/usbhost.svg new file mode 100644 index 00000000..b7d537b5 --- /dev/null +++ b/docs/source/usbhost.svg @@ -0,0 +1,9 @@ +usbh_initializeusbh_initializeusbh_hub_initializeusbh_hub_initializeusbh_roothub_registerusbh_roothub_registercreate usbh_hub_threadcreate usbh_hub_threadusb_hc_initusb_hc_initusbh_roothub_thread_wakeupusbh_roothub_thread_wakeup +hub_int_complete_callbackhub_int_complete_callback +wakeupwakeupwakeupwakeupusbh_enumerateusbh_enumerate +search all portssearch all portsusbh_hub_eventsusbh_hub_events +CLASS_CONNECTCLASS_CONNECT +search all interface driverssearch all interface driversusbh_find_class_driverusbh_find_class_driver +if hub class?if hub class?usbh_int_urb_fillusbh_submit_urbusbh_int_urb_fill...Class RegisterClass Register +USBH_IRQHandlerUSBH_IRQHandler +Viewer does not support full SVG 1.1 \ No newline at end of file