summaryrefslogtreecommitdiff
path: root/version.html
blob: 2015d0a85cb0b513c72647be9a2993458edfe0ba (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421


<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>版本说明 &mdash; CherryUSB 1.6.1 documentation</title>
      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=80d5e7a1" />
      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=9edc463e" />

  
      <script src="_static/jquery.js?v=5d32c60e"></script>
      <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
      <script src="_static/documentation_options.js?v=d6a008b6"></script>
      <script src="_static/doctools.js?v=9a2dae69"></script>
      <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
    <script src="_static/js/theme.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="性能展示" href="show/index.html" />
    <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">
              <p class="caption" role="heading"><span class="caption-text">快速上手</span></p>
<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>
<li class="toctree-l1"><a class="reference internal" href="quick_start/q%26a.html">Q &amp; A</a></li>
<li class="toctree-l1"><a class="reference internal" href="quick_start/migration.html">部分改动迁移指南</a></li>
<li class="toctree-l1"><a class="reference internal" href="quick_start/opensource.html">基于 CherryUSB 的开源项目</a></li>
<li class="toctree-l1"><a class="reference internal" href="quick_start/usb_speed.html">USB 极限速度测试</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">USB 基本知识点</span></p>
<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>
<p class="caption" role="heading"><span class="caption-text">API 手册</span></p>
<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>
<p class="caption" role="heading"><span class="caption-text">Class 指南</span></p>
<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>
<p class="caption" role="heading"><span class="caption-text">例程</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_cdc_acm.html">CDC ACM Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_hid.html">HID Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_msc.html">MSC Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_audiov1.html">AudioV1 Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_audiov2.html">AudioV2 Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_video.html">USB Video Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_winusb.html">WinUSB Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_webusb.html">WebUSB Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_rndis.html">CDC RNDIS Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_ecm.html">CDC ECM Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_adb.html">ADB Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbd_mtp.html">MTP Device</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_serial.html">Serial Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_hid.html">HID Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_msc.html">MSC Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_net.html">Network Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_bluetooth.html">BTBLE Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_wifi.html">WIFI Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_audio.html">Audio Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usbh_video.html">Video Host</a></li>
<li class="toctree-l1"><a class="reference internal" href="demo/usb_otg.html">USB OTG</a></li>
<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>
</ul>
<p class="caption" role="heading"><span class="caption-text">USBIP 介绍</span></p>
<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>
<p class="caption" role="heading"><span class="caption-text">工具使用</span></p>
<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>
<p class="caption" role="heading"><span class="caption-text">Release Notes</span></p>
<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">&lt;= 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>
<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>
<li class="toctree-l2"><a class="reference internal" href="#v1-4-3">v1.4.3</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v1-5-0">v1.5.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v1-5-1">v1.5.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v1-5-2">v1.5.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v1-5-3">v1.5.3</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v1-5-3-99">v1.5.3.99</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v1-6-0">v1.6.0</a></li>
<li class="toctree-l2"><a class="reference internal" href="#v1-6-1">v1.6.1</a></li>
</ul>
</li>
</ul>
<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>
<p class="caption" role="heading"><span class="caption-text">商业支持</span></p>
<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">
             
  <section id="id1">
<h1>版本说明<a class="headerlink" href="#id1" title="Link to this heading"></a></h1>
<p>如果没有特别情况,请使用最新版本。下面只列举比较重要的更新,详细更新说明请参考 <a class="reference external" href="https://github.com/cherry-embedded/CherryUSB/releases">https://github.com/cherry-embedded/CherryUSB/releases</a>。</p>
<section id="v0-10-2">
<h2>&lt;= v0.10.2 初代版本<a class="headerlink" href="#v0-10-2" title="Link to this heading"></a></h2>
<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>
</section>
<section id="v1-0-0">
<h2>v1.0.0 过度版本<a class="headerlink" href="#v1-0-0" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><strong>host 支持动态使用硬件 pipe,不再固定</strong></p></li>
</ul>
</section>
<section id="v1-1-0">
<h2>v1.1.0 过度版本<a class="headerlink" href="#v1-1-0" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><strong>主从机支持多 USB IP 且要相同 IP</strong></p></li>
<li><p><strong>host 增加 bluetooth, ch340, ftdi, cp210x, asix 驱动</strong></p></li>
<li><p>device msc 支持多 lun,并且 CONFIG_USBDEV_MSC_BLOCK_SIZE 修改为 CONFIG_USBDEV_MSC_MAX_BUFSIZE</p></li>
</ul>
</section>
<section id="v1-2-0">
<h2>v1.2.0<a class="headerlink" href="#v1-2-0" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><strong>host 增加 rtl8152,cdc ncm 驱动</strong></p></li>
<li><p>host 增加 timer 去控制中断传输(hub修改为 timer 控制)</p></li>
<li><p>porting 增加 esp,aic 主机驱动</p></li>
<li><p><strong>优化 DWC2 优化代码方便阅读,并增加一些 FIFO 配置宏给用户(因为 dwc2 fifo 大小有限,以及配置方式很多,所以导出给用户配置,方便合理控制性能)</strong></p></li>
<li><p>优化 ehci 驱动(qtd不再使用动态申请,绑定 qh),方便代码运行的更快</p></li>
</ul>
</section>
<section id="v1-3-0">
<h2>v1.3.0<a class="headerlink" href="#v1-3-0" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><strong>device 支持多种速度描述符自动选择功能(开启 CONFIG_USBDEV_ADVANCE_DESC)</strong></p></li>
<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>
<li><p><strong>porting 中主机部分 urb-&gt;timeout 清0 的处理有点问题(大数据量传输时会出现 no pipe alloc 异常,主要原因是刚启动传输就完成了,还没判断 timeout就被修改为0了,没有进入 take sem 流程),此版本已修复</strong></p></li>
<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>
</section>
<section id="v1-3-1">
<h2>v1.3.1<a class="headerlink" href="#v1-3-1" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p>bugfix(audio,video,cdc ecm 相关宏,结构体,api)</p></li>
<li><p><strong>host hub 枚举线程删除,使用 psc 线程,枚举方式更改为队列模式,取消同时枚举多个设备的功能</strong></p></li>
<li><p>host 扫描驱动信息和 instance 采用递归模式,删除链表扫描</p></li>
<li><p>host 网络 class 驱动优化,支持接收 16K 以上的数据(cdc ecm 不支持),采用高级 memcpy api</p></li>
<li><p><strong>device 协议栈中打印删除(中断中不再做打印)</strong></p></li>
<li><p>porting 中 musb fifo配置修改为从 fifo table 获取(此代码参考 linux),适配 es32,sunxi,beken</p></li>
</ul>
</section>
<section id="v1-4-0">
<h2>v1.4.0<a class="headerlink" href="#v1-4-0" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><strong>device 开始支持 remote wakeup 功能, hid request(0x21),完善 GET STATUS 请求(此版本开始可以通过 USB3CV 测试)</strong></p></li>
<li><p>device 增加 UF2, ADB, WEBUSB 功能; msc 增加裸机的读写 polling 功能,将读写放在 while1中执行; usbd_cdc 改名为 usbd_cdc_acm</p></li>
<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>
<li><p>esp 组件库支持</p></li>
<li><p><strong>chipidea 从机驱动支持,nxp mcx 系列主从支持</strong></p></li>
<li><p>threadx os 支持</p></li>
</ul>
</section>
<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">
<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>
<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>
<li><p><strong>device video 传输重构,增加双缓冲功能</strong></p></li>
<li><p>device ecm 重构,保持和 rndis 类似 API</p></li>
<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>
<li><p><strong>通用 OHCI 代码更新</strong></p></li>
</ul>
</section>
<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">
<li><p><strong>device ep0 处理增加线程模式</strong></p></li>
<li><p>device audio feedback 宏和demo</p></li>
<li><p>device rndis 增加透传功能(无LWIP)</p></li>
<li><p><strong>host msc 将 scsi 初始化从枚举线程中移出,在mount阶段调用,并增加了testunity 多次尝试,兼容一部分 U 盘</strong></p></li>
<li><p>rp2040 主从支持</p></li>
<li><p><strong>nuttx fs,serial,net 组件支持</strong></p></li>
<li><p>dwc2、ehci、ohci 主机 dcache功能支持(v1.5.0 完善)</p></li>
<li><p>t113、MCXA156、CH585 、 <strong>stm32h7r 支持</strong></p></li>
<li><p>修复 v1.4.1 中 altsetting 为0时应该关闭所有端点的问题</p></li>
</ul>
</section>
<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&amp;qtd&amp;itd, add CONFIG_USB_OHCI_DESC_DCACHE_ENABLE for ed&amp;td</p></li>
<li><p><strong>平台代码更新,平台相关转移到 platform,增加 lvgl 键鼠支持,blackmagic 支持,filex 支持, zephyr disk支持,esp-idf netif支持</strong></p></li>
<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>
<li><p>liteos-m, zephyr os 支持</p></li>
<li><p>device msc 裸机读写采用变量模式,而不是ringbuffer</p></li>
<li><p>ehci qtd 使用 qtd alloc &amp; free,节省内存,目前是 qh 携带 qtd</p></li>
<li><p>rndis/ECM device, msc demo 更新,支持 rt-thread 下免修改</p></li>
<li><p><strong>memcpy 全部使用 usb_memcpy 替换,arm 库存在非对其访问问题</strong></p></li>
<li><p><strong>重构 device mtp 驱动(收费使用)</strong></p></li>
<li><p><strong>device tmc 驱动(收费使用)</strong></p></li>
<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>
<li><p><strong>dwc2 device 增加 dcache 功能,可用于 cortex-M7/ESP32P4</strong></p></li>
<li><p><strong>bouffalo/hpm/esp/st/nxp dcache api 支持</strong></p></li>
<li><p>ch32 device iso 更新,IP 目录重新分类</p></li>
<li><p>cmake,scons,kconfig 更新</p></li>
<li><p>使用 USB_ASSERT_MSG 对部分代码检查,全面性 warning 修复</p></li>
<li><p>N32H4/MM32F5 device 支持</p></li>
<li><p>默认使能 CONFIG_USBDEV_ADVANCE_DESC</p></li>
</ul>
</section>
<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>
<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 &amp; 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>
<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>
<section id="v1-5-3-99">
<h2>v1.5.3.99<a class="headerlink" href="#v1-5-3-99" title="Link to this heading"></a></h2>
<p>bugfix for v1.5.3</p>
</section>
<section id="v1-6-0">
<h2>v1.6.0<a class="headerlink" href="#v1-6-0" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><strong>host 增加 serial 框架,统一所有类串口驱动</strong></p></li>
<li><p><strong>host hid 增加报告描述符解析功能</strong></p></li>
<li><p>usbh_initialize 增加 event callback,用于通知用户主机事件变化,通常不需要使用,设置为 NULL 即可</p></li>
<li><p>支持 gamepad device</p></li>
<li><p>增加 ti xmc,infineon edge e8x port 支持</p></li>
<li><p>dwc2 增加 usbd_dwc2_get_system_clock 替换 SystemCoreClock;删除 __UNALIGNED_UINT32_READ 和 __UNALIGNED_UINT32_WRITE 宏;读取 setup 个数设置为 1个;第一次读取 setup 移动到 USB_OTG_GINTSTS_ENUMDNE 中断中</p></li>
<li><p>dwc2/ehci 增加 roothub 速度设置</p></li>
</ul>
</section>
<section id="v1-6-1">
<h2>v1.6.1<a class="headerlink" href="#v1-6-1" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p>新增 USB 副屏驱动</p></li>
<li><p>重构 DFU device 驱动</p></li>
<li><p>重构主机报告描述符解析驱动</p></li>
<li><p>cherryrb 和 cherrymp 组件内置</p></li>
<li><p>主机 hub 线程释放改成使用 mq 替代互斥锁</p></li>
<li><p>部分 bugfix 和安全性代码检查</p></li>
</ul>
</section>
</section>


           </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>
        <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>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 2022 ~ 2026, sakumisu.</p>
  </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>