2024-10-07 07:38:29 +00:00
2024-09-24 13:59:54 +00:00
<!DOCTYPE html>
2024-10-10 09:14:31 +00:00
< html class = "writer-html5" lang = "en" data-content_root = "./" >
2024-09-24 13:59:54 +00:00
< head >
2024-10-10 09:14:31 +00:00
< meta charset = "utf-8" / > < meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2024-09-24 13:59:54 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2025-11-25 07:31:08 +00:00
< title > 版本说明 — CherryUSB 1.5.3 documentation< / title >
2024-10-10 09:14:31 +00:00
< link rel = "stylesheet" type = "text/css" href = "_static/pygments.css?v=80d5e7a1" / >
< link rel = "stylesheet" type = "text/css" href = "_static/css/theme.css?v=e59714d7" / >
2024-09-24 13:59:54 +00:00
2024-10-10 09:14:31 +00:00
< script src = "_static/jquery.js?v=5d32c60e" > < / script >
< script src = "_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c" > < / script >
2025-11-25 07:31:08 +00:00
< script src = "_static/documentation_options.js?v=d75fd82e" > < / script >
2024-10-10 09:14:31 +00:00
< script src = "_static/doctools.js?v=9a2dae69" > < / script >
< script src = "_static/sphinx_highlight.js?v=dc90522c" > < / script >
2024-09-24 13:59:54 +00:00
< script src = "_static/js/theme.js" > < / script >
< link rel = "index" title = "Index" href = "genindex.html" / >
< link rel = "search" title = "Search" href = "search.html" / >
2025-05-09 05:17:20 +00:00
< link rel = "next" title = "性能展示" href = "show/index.html" / >
2024-09-24 13:59:54 +00:00
< link rel = "prev" title = "chryusb_configurator" href = "tools/index.html" / >
< / head >
< body class = "wy-body-for-nav" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-scroll" >
< div class = "wy-side-nav-search" >
< a href = "index.html" class = "icon icon-home" >
CherryUSB
< / a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "search.html" method = "get" >
< input type = "text" name = "q" placeholder = "Search docs" aria-label = "Search docs" / >
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
< / div > < div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "Navigation menu" >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > 快速上手< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "quick_start/start.html" > 入门必看< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "quick_start/demo.html" > 基于现有 demo 快速验证< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "quick_start/transplant.html" > 芯片通用移植指南< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "quick_start/rtthread.html" > 基于 RT-Thread 软件包开发指南< / a > < / li >
2025-12-01 04:31:29 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "quick_start/q%26a.html" > Q & A< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "quick_start/share.html" > 开发者经验/开源项目分享< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "quick_start/opensource.html" > 官方开源项目分享< / a > < / li >
2024-09-24 13:59:54 +00:00
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > USB 基本知识点< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "usb/usb2.0_basic.html" > USB 基本概念(2.0 为主)< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usb/usb3.0_basic.html" > USB 基本概念(3.0 为主)< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usb/usb_desc.html" > USB 描述符< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usb/usb_request.html" > USB 设备请求< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usb/usb_enum.html" > USB 枚举< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usb/usb_ext.html" > USB 知识点拓展< / a > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > API 手册< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "api/api_device.html" > 设备协议栈< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "api/api_host.html" > 主机协议栈< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "api/api_port.html" > 主从驱动< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "api/api_config.html" > USB CONFIG 说明< / a > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > Class 指南< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "class/class_cdc.html" > CDC< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "class/class_hid.html" > HID< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "class/class_msc.html" > MSC< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "class/class_audio.html" > UAC< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "class/class_video.html" > UVC< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "class/winusb.html" > WINUSB< / a > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > 例程说明< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_cdc_acm.html" > usbd_cdc_acm< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_hid.html" > usbd_hid< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_msc.html" > usbd_msc< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_rndis.html" > usbd_rndis< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_ecm.html" > usbd_cdc_ecm< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_audiov1.html" > usbd_audiov1< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_audiov2.html" > usbd_audiov2< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_video.html" > usbd_video< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_winusb.html" > usbd_winusb< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_webusb.html" > usbd_webusb< / a > < / li >
2025-06-24 07:51:46 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_adb.html" > usbd_adb< / a > < / li >
2024-09-24 13:59:54 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbh_serial.html" > usbh_serial< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbh_hid.html" > usbh_hid< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbh_msc.html" > usbh_msc< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbh_net.html" > usbh_net< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbh_bluetooth.html" > usbh_bluetooth< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbh_wifi.html" > usbh_wifi< / a > < / li >
2024-12-04 15:04:52 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbd_vendor.html" > vendor device 驱动编写< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usbh_vendor.html" > vendor host 驱动编写< / a > < / li >
2025-11-25 10:45:01 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "demo/usb_otg.html" > OTG 功能的使用< / a > < / li >
2024-09-24 13:59:54 +00:00
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > USBIP 介绍< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/ohci.html" > OHCI< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/ehci.html" > EHCI< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/xhci.html" > XHCI< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/chipidea.html" > CHIPIDEA< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/dwc2.html" > DWC2< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/musb.html" > MUSB< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/fotg210.html" > FOTG210< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/cdns2.html" > CDNS2< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/cdns3.html" > CDNS3< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "usbip/dwc3.html" > DWC3< / a > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > 工具使用< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "tools/index.html" > chryusb_configurator< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "tools/index.html#usb-protocol-suite" > 力科 USB Protocol Suite< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "tools/index.html#wireshark" > Wireshark< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "tools/index.html#audacity" > Audacity< / a > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > 版本说明< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul class = "current" >
< li class = "toctree-l1 current" > < a class = "current reference internal" href = "#" > 版本说明< / a > < ul >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v0-10-2" > < = v0.10.2 初代版本< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-0-0" > v1.0.0 过度版本< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-1-0" > v1.1.0 过度版本< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-2-0" > v1.2.0< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-3-0" > v1.3.0< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-3-1" > v1.3.1< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-4-0" > v1.4.0< / a > < / li >
2024-12-08 15:27:50 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-4-1" > v1.4.1< / a > < / li >
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-4-2" > v1.4.2< / a > < / li >
2025-02-27 12:47:26 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-4-3" > v1.4.3< / a > < / li >
2025-05-12 13:33:07 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-5-0" > v1.5.0< / a > < / li >
2025-07-13 10:11:52 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-5-1" > v1.5.1< / a > < / li >
2025-08-07 13:06:51 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-5-2" > v1.5.2< / a > < / li >
2025-11-25 07:31:08 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#v1-5-3" > v1.5.3< / a > < / li >
2024-09-24 13:59:54 +00:00
< / ul >
< / li >
< / ul >
2025-05-09 05:17:20 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > 性能展示< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "show/index.html" > 性能展示< / a > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< p class = "caption" role = "heading" > < span class = "caption-text" > 商业支持< / span > < / p >
2024-09-24 13:59:54 +00:00
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "support/index.html" > 商业支持< / a > < / li >
< / ul >
< / div >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" > < nav class = "wy-nav-top" aria-label = "Mobile navigation menu" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "index.html" > CherryUSB< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "Page navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "index.html" class = "icon icon-home" aria-label = "Home" > < / a > < / li >
< li class = "breadcrumb-item active" > 版本说明< / li >
< li class = "wy-breadcrumbs-aside" >
< a href = "_sources/version.rst.txt" rel = "nofollow" > View page source< / a >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
2024-10-10 09:14:31 +00:00
< section id = "id1" >
< h1 > 版本说明< a class = "headerlink" href = "#id1" title = "Link to this heading" > < / a > < / h1 >
2025-05-12 13:33:07 +00:00
< p > 如果没有特别情况,请使用最新版本。下面只列举比较重要的更新,详细更新说明请参考 < a class = "reference external" href = "https://github.com/cherry-embedded/CherryUSB/releases" > https://github.com/cherry-embedded/CherryUSB/releases< / a > 。< / p >
2024-10-10 09:14:31 +00:00
< section id = "v0-10-2" >
< h2 > < = v0.10.2 初代版本< a class = "headerlink" href = "#v0-10-2" title = "Link to this heading" > < / a > < / h2 >
2024-09-24 13:59:54 +00:00
< ul class = "simple" >
< li > < p > < strong > 用于定基本的主从机框架,仅支持单 USB IP< / strong > 。< / p > < / li >
< li > < p > < strong > host 驱动每个 ep 占用一个 硬件 pipe, 不支持动态使用硬件 pipe< / strong > 。< / p > < / li >
< li > < p > 相关 porting 需要使用此版本,后续不再支持(比如 ch32, rp2040) , 以及旧版本pusb2 和 xhci( 新版本不再提供源码) 。< / p > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< / section >
< section id = "v1-0-0" >
< h2 > v1.0.0 过度版本< a class = "headerlink" href = "#v1-0-0" title = "Link to this heading" > < / a > < / h2 >
2024-09-24 13:59:54 +00:00
< ul class = "simple" >
< li > < p > < strong > host 支持动态使用硬件 pipe, 不再固定< / strong > < / p > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< / section >
< section id = "v1-1-0" >
< h2 > v1.1.0 过度版本< a class = "headerlink" href = "#v1-1-0" title = "Link to this heading" > < / a > < / h2 >
2024-09-24 13:59:54 +00:00
< ul class = "simple" >
< li > < p > < strong > 主从机支持多 USB IP 且要相同 IP< / strong > < / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > host 增加 bluetooth, ch340, ftdi, cp210x, asix 驱动< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > device msc 支持多 lun, 并且 CONFIG_USBDEV_MSC_BLOCK_SIZE 修改为 CONFIG_USBDEV_MSC_MAX_BUFSIZE< / p > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< / section >
< section id = "v1-2-0" >
< h2 > v1.2.0< a class = "headerlink" href = "#v1-2-0" title = "Link to this heading" > < / a > < / h2 >
2024-09-24 13:59:54 +00:00
< ul class = "simple" >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > host 增加 rtl8152, cdc ncm 驱动< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > host 增加 timer 去控制中断传输( hub修改为 timer 控制)< / p > < / li >
< li > < p > porting 增加 esp, aic 主机驱动< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > 优化 DWC2 优化代码方便阅读,并增加一些 FIFO 配置宏给用户(因为 dwc2 fifo 大小有限,以及配置方式很多,所以导出给用户配置,方便合理控制性能)< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > 优化 ehci 驱动( qtd不再使用动态申请, 绑定 qh) , 方便代码运行的更快< / p > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< / section >
< section id = "v1-3-0" >
< h2 > v1.3.0< a class = "headerlink" href = "#v1-3-0" title = "Link to this heading" > < / a > < / h2 >
2024-09-24 13:59:54 +00:00
< ul class = "simple" >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > device 支持多种速度描述符自动选择功能(开启 CONFIG_USBDEV_ADVANCE_DESC) < / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > device core 代码统一 ep0 buffer 的使用,用于美化代码< / p > < / li >
< li > < p > host 增加 pl2303 驱动;采用 id table 来支持多个 vid, pid; 增加 user_data 给用户使用< / p > < / li >
< li > < p > host 网络 class 驱动增加 tx、rx buffer 的宏,增加 LWIP_TCPIP_CORE_LOCKING_INPUT 的使用,以便实现数据的零拷贝< / p > < / li >
< li > < p > porting 导入 bouffalo, aic, stm32f723 device驱动< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > porting 中主机部分 urb-> timeout 清0 的处理有点问题(大数据量传输时会出现 no pipe alloc 异常,主要原因是刚启动传输就完成了,还没判断 timeout就被修改为0了, 没有进入 take sem 流程),此版本已修复< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > ehci enable iaad in usbh_kill_urb, read ehci hcor offset from hccr caplength, enable ohci for ehci< / p > < / li >
< li > < p > 适配 nuttx os< / p > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< / section >
< section id = "v1-3-1" >
< h2 > v1.3.1< a class = "headerlink" href = "#v1-3-1" title = "Link to this heading" > < / a > < / h2 >
2024-09-24 13:59:54 +00:00
< ul class = "simple" >
< li > < p > bugfix( audio, video, cdc ecm 相关宏, 结构体, api) < / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > host hub 枚举线程删除,使用 psc 线程,枚举方式更改为队列模式,取消同时枚举多个设备的功能< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > host 扫描驱动信息和 instance 采用递归模式,删除链表扫描< / p > < / li >
< li > < p > host 网络 class 驱动优化,支持接收 16K 以上的数据( cdc ecm 不支持),采用高级 memcpy api< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > device 协议栈中打印删除(中断中不再做打印)< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > porting 中 musb fifo配置修改为从 fifo table 获取(此代码参考 linux) , 适配 es32, sunxi, beken< / p > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< / section >
< section id = "v1-4-0" >
< h2 > v1.4.0< a class = "headerlink" href = "#v1-4-0" title = "Link to this heading" > < / a > < / h2 >
2024-09-24 13:59:54 +00:00
< ul class = "simple" >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > device 开始支持 remote wakeup 功能, hid request(0x21),完善 GET STATUS 请求(此版本开始可以通过 USB3CV 测试)< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > device 增加 UF2, ADB, WEBUSB 功能; msc 增加裸机的读写 polling 功能,将读写放在 while1中执行; usbd_cdc 改名为 usbd_cdc_acm< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > host 增加 usbwifi(bl616), xbox驱动; < strong > 重构 USB3.0 枚举逻辑< / strong > < / p > < / li >
< li > < p > < strong > host 中 cdc_acm,hid,msc,serial 传输共享 buffer, 如果存在多个相同的设备会有问题, 修改为单独的 buffer< / strong > < / p > < / li >
< li > < p > < strong > porting 重构 XHCI/PUSB2 驱动,不开源< / strong > ; ehci 和 ohci 文件改名;增加 remote wakeup api< / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > esp 组件库支持< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > chipidea 从机驱动支持, nxp mcx 系列主从支持< / strong > < / p > < / li >
2024-09-24 13:59:54 +00:00
< li > < p > threadx os 支持< / p > < / li >
< / ul >
2024-10-10 09:14:31 +00:00
< / section >
2024-12-08 15:27:50 +00:00
< section id = "v1-4-1" >
< h2 > v1.4.1< a class = "headerlink" href = "#v1-4-1" title = "Link to this heading" > < / a > < / h2 >
< ul class = "simple" >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > 修复device 模式下使用多个 altsetting 时重复关闭端点问题,改成 altsetting 为0时关闭< / strong > < / p > < / li >
< li > < p > < strong > 重构主机 audio 解析描述符< / strong > < / p > < / li >
< li > < p > < strong > 增加 kinetis usbip< / strong > < / p > < / li >
2024-12-08 15:27:50 +00:00
< li > < p > 主机下 usbh_msc_get_maxlun 请求部分 U 盘不支持,不做错误返回< / p > < / li >
< li > < p > 主机下 usbh_hid_get_report_descriptor 导出给用户调用< / p > < / li >
< li > < p > 静态代码检查< / p > < / li >
< li > < p > github action 功能< / p > < / li >
< / ul >
< / section >
< section id = "v1-4-2" >
< h2 > v1.4.2< a class = "headerlink" href = "#v1-4-2" title = "Link to this heading" > < / a > < / h2 >
< ul class = "simple" >
< li > < p > device 实现 USB_REQUEST_GET_INTERFACE 请求< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > device video 传输重构,增加双缓冲功能< / strong > < / p > < / li >
< li > < p > device ecm 重构,保持和 rndis 类似 API< / p > < / li >
2024-12-08 15:27:50 +00:00
< li > < p > device 和 host audio 音量配置功能重构< / p > < / li >
< li > < p > host 增加 AOA 驱动< / p > < / li >
< li > < p > 兼容 C++ 相关修改< / p > < / li >
< li > < p > fsdev 不支持 ISO 和 DWC2 高速 hub 不支持全速低速检查< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > 通用 OHCI 代码更新< / strong > < / p > < / li >
2024-12-08 15:27:50 +00:00
< / ul >
< / section >
2025-02-27 12:47:26 +00:00
< section id = "v1-4-3" >
< h2 > v1.4.3< a class = "headerlink" href = "#v1-4-3" title = "Link to this heading" > < / a > < / h2 >
< ul class = "simple" >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > device ep0 处理增加线程模式< / strong > < / p > < / li >
2025-02-27 12:47:26 +00:00
< li > < p > device audio feedback 宏和demo< / p > < / li >
< li > < p > device rndis 增加透传功能( 无LWIP) < / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > host msc 将 scsi 初始化从枚举线程中移出, 在mount阶段调用, 并增加了testunity 多次尝试,兼容一部分 U 盘< / strong > < / p > < / li >
2025-02-27 12:47:26 +00:00
< li > < p > rp2040 主从支持< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > nuttx fs, serial, net 组件支持< / strong > < / p > < / li >
2025-06-03 15:11:49 +00:00
< li > < p > dwc2、ehci、ohci 主机 dcache功能支持( v1.5.0 完善)< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > t113、MCXA156、CH585 、 < strong > stm32h7r 支持< / strong > < / p > < / li >
2025-03-04 09:44:34 +00:00
< li > < p > 修复 v1.4.1 中 altsetting 为0时应该关闭所有端点的问题< / p > < / li >
2025-02-27 12:47:26 +00:00
< / ul >
< / section >
2025-05-12 13:33:07 +00:00
< section id = "v1-5-0" >
< h2 > v1.5.0< a class = "headerlink" href = "#v1-5-0" title = "Link to this heading" > < / a > < / h2 >
< ul class = "simple" >
< li > < p > < strong > 协议栈内部全局 buffer 需要使用 USB_ALIGN_UP 对齐, 用于开启 dcache 并且不使能 nocache 时使用< / strong > < / p > < / li >
< li > < p > < strong > 完善 ehci/ohci dcache 模式下的处理< / strong > , add CONFIG_USB_EHCI_DESC_DCACHE_ENABLE for qh& qtd& itd, add CONFIG_USB_OHCI_DESC_DCACHE_ENABLE for ed& td< / p > < / li >
2025-06-16 12:29:56 +00:00
< li > < p > < strong > 平台代码更新,平台相关转移到 platform, 增加 lvgl 键鼠支持, blackmagic 支持, filex 支持, zephyr disk支持, esp-idf netif支持< / strong > < / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > < strong > device sof callback 支持< / strong > < / p > < / li >
< li > < p > < strong > dwc2 、fsdev st 下实现底层 API 和中断,直接调用 HAL_PCD_MSP 和 HAL_HCD_MSP, 不需要用户复制粘贴< / strong > < / p > < / li >
< li > < p > < strong > DWC2 实现 SPLIT 功能,高速模式下支持外部高速 hub 对接 FS/LS 设备< / strong > < / p > < / li >
2025-06-03 15:11:49 +00:00
< li > < p > liteos-m, zephyr os 支持< / p > < / li >
< li > < p > device msc 裸机读写采用变量模式, 而不是ringbuffer< / p > < / li >
< li > < p > ehci qtd 使用 qtd alloc & free, 节省内存, 目前是 qh 携带 qtd< / p > < / li >
2025-05-12 13:33:07 +00:00
< li > < p > rndis/ECM device, msc demo 更新,支持 rt-thread 下免修改< / p > < / li >
< li > < p > < strong > memcpy 全部使用 usb_memcpy 替换, arm 库存在非对其访问问题< / strong > < / p > < / li >
2025-06-03 15:11:49 +00:00
< li > < p > < strong > 重构 device mtp 驱动(收费使用)< / strong > < / p > < / li >
2025-06-16 12:29:56 +00:00
< li > < p > < strong > device tmc 驱动(收费使用)< / strong > < / p > < / li >
2025-06-03 15:11:49 +00:00
< li > < p > < strong > 重构device video 传输,直接在图像数据中填充 uvc header, 达到zero memcpy< / strong > < / p > < / li >
< li > < p > < strong > 增加 usb_osal_thread_schedule_other api, 用于在释放 class 资源之前,先释放所有 class 线程,避免释放 class 资源以后线程还在使用该 class 资源< / strong > < / p > < / li >
2025-06-16 12:29:56 +00:00
< li > < p > < strong > dwc2 device 增加 dcache 功能,可用于 cortex-M7/ESP32P4< / strong > < / p > < / li >
2025-06-04 07:34:33 +00:00
< li > < p > < strong > bouffalo/hpm/esp/st/nxp dcache api 支持< / strong > < / p > < / li >
2025-06-16 12:29:56 +00:00
< li > < p > ch32 device iso 更新, IP 目录重新分类< / p > < / li >
2025-06-03 15:11:49 +00:00
< li > < p > cmake, scons, kconfig 更新< / p > < / li >
2025-06-16 12:29:56 +00:00
< li > < p > 使用 USB_ASSERT_MSG 对部分代码检查,全面性 warning 修复< / p > < / li >
< li > < p > N32H4/MM32F5 device 支持< / p > < / li >
< li > < p > 默认使能 CONFIG_USBDEV_ADVANCE_DESC< / p > < / li >
2025-05-12 13:33:07 +00:00
< / ul >
< / section >
2025-07-13 10:11:52 +00:00
< section id = "v1-5-1" >
< h2 > v1.5.1< a class = "headerlink" href = "#v1-5-1" title = "Link to this heading" > < / a > < / h2 >
< ul class = "simple" >
< li > < p > 支持 rt-thread 下使用 adb shell, host serial/device cdc_acm 对接 rtdevice 框架< / p > < / li >
< li > < p > < strong > dwc2 增加多个 usbport 不同参数的配置功能, 比如一个全速一个高速, fifo配置和phy配置不同< / strong > < / p > < / li >
< li > < p > < strong > ehci 在控制传输中如果没有 nodata 阶段会导致 data qtd 未释放,导致内存泄漏< / strong > < / p > < / li >
< li > < p > < strong > dwc2 读取 setup 使用 usbd_get_next_ep0_state 去判断,避免 setup 和 ep0 out 使用在 USB_OTG_DOEPINT_XFRC 状态下冲突< / strong > < / p > < / li >
< li > < p > sifli usb device 初步支持< / p > < / li >
< / ul >
< / section >
2025-08-07 13:06:51 +00:00
< section id = "v1-5-2" >
< h2 > v1.5.2< a class = "headerlink" href = "#v1-5-2" title = "Link to this heading" > < / a > < / h2 >
< ul class = "simple" >
< li > < p > 对 1.5.1 下 rt-thread 组件的一些 bugfix< / p > < / li >
< li > < p > idf timer osal 替换为 esp timer, freertos timer会有启动失败的可能性; xTaskCreate 使用 xTaskCreatePinnedToCore 替换,方便多核使用< / p > < / li >
< li > < p > 主机枚举中,删除描述符溢出相关的 ASSERT 操作, 改成返回错误。获取字符串描述符改成支持才获取。2 ms 延时改成 10ms, 因为一些 os 使用的是 100hz, 会造成延时失效< / p > < / li >
< li > < p > < strong > dwc2 ep mult 支持, split 传输代码优化,对 split 相关的 cache 处理修改< / strong > < / p > < / li >
< li > < p > < strong > dwc2 halt 中不能清除 USB_OTG_HCCHAR_EPDIR, reset port 中使用超时机制,防止在枚举时由于拔出而造成死等< / strong > < / p > < / li >
< li > < p > 更新 DWC2 中 at32, stm32, kendryte, espressif glue 代码< / p > < / li >
< li > < p > musb 对于标准的 IP 结构采用独立 EP 控制寄存器组,不使用 EPIDX 寄存器去控制< / p > < / li >
< li > < p > 删除所有 CONFIG_USBDEV_EP_NUM & CONFIG_USBHOST_PIPE_NUM, 不再使用, 因为 IP 本身会携带这些信息,或者厂家 SDK 提供了对应的宏< / p > < / li >
< li > < p > CONFIG_USBHOST_MAX_INTF_ALTSETTINGS 默认使用 2 减少内存,只有 UVC 和UAC 使用(商业收费),所以不需要开很大< / p > < / li >
< li > < p > urb interval 从 u8 改 u32, 最大支持 2^15 * 125us< / p > < / li >
< / ul >
< / section >
2025-11-25 07:31:08 +00:00
< section id = "v1-5-3" >
< h2 > v1.5.3< a class = "headerlink" href = "#v1-5-3" title = "Link to this heading" > < / a > < / h2 >
< ul class = "simple" >
< li > < p > 增加 mongoose demo< / p > < / li >
< li > < p > < strong > 从机支持自定义 ep0 mps, 仅支持商业性 IP< / strong > < / p > < / li >
< li > < p > 主机增加 UVC bulk支持, < strong > 接口号匹配驱动功能< / strong > , < strong > 主机分配地址功能改成循环自增模式< / strong > ,重构 lsusb 命令< / p > < / li >
< li > < p > 主机控制传输增加 retry 机制,部分 device 通信不稳定, retry 次数参考 linux< / p > < / li >
< li > < p > < strong > 主机 rndis 驱动增加非标 02/02/ff 接口驱动匹配< / strong > < / p > < / li >
< li > < p > musb IP 关闭 multipoint feature 支持< / p > < / li >
< li > < p > hpmicro、chipidea dcache 支持< / p > < / li >
< li > < p > idf host msc 支持< / p > < / li >
< li > < p > otg 框架重构,当前 port 仅支持 hpmicro< / p > < / li >
< li > < p > CI 编译功能,支持 hpmicro/espressif/bouffalolab< / p > < / li >
< / ul >
< / section >
2024-10-10 09:14:31 +00:00
< / section >
2024-09-24 13:59:54 +00:00
< / div >
< / div >
< footer > < div class = "rst-footer-buttons" role = "navigation" aria-label = "Footer" >
< a href = "tools/index.html" class = "btn btn-neutral float-left" title = "chryusb_configurator" accesskey = "p" rel = "prev" > < span class = "fa fa-arrow-circle-left" aria-hidden = "true" > < / span > Previous< / a >
2025-05-09 05:17:20 +00:00
< a href = "show/index.html" class = "btn btn-neutral float-right" title = "性能展示" accesskey = "n" rel = "next" > Next < span class = "fa fa-arrow-circle-right" aria-hidden = "true" > < / span > < / a >
2024-09-24 13:59:54 +00:00
< / div >
< hr / >
< div role = "contentinfo" >
2025-05-19 09:23:59 +00:00
< p > © Copyright 2022 ~ 2025, sakumisu.< / p >
2024-09-24 13:59:54 +00:00
< / div >
Built with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > using a
< a href = "https://github.com/readthedocs/sphinx_rtd_theme" > theme< / a >
provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
< / div >
< / div >
< / section >
< / div >
< script >
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
< / script >
< / body >
< / html >