Deploying to gh-pages from @ cherry-embedded/CherryUSB@3a21f2425d 🚀

This commit is contained in:
sakumisu
2025-12-18 14:00:38 +00:00
parent 80b199e866
commit bcd9c1328b
3 changed files with 20 additions and 6 deletions

View File

@@ -115,8 +115,8 @@ Failed to enable port
USB_ERR_NAK 说明 USB_ERR_NAK 说明
---------------------------------------------------------------- ----------------------------------------------------------------
USB_ERR_NAK 只存在于 DWC2 buffer dma 模式DWC2 在 buffer dma模式下对于中断传输不支持硬件处理 NAK 中断,因此需要软件处理,导致 NAK 中断非常多,建议搭配定时器使用。 USB_ERR_NAK 只存在于 DWC2 buffer dma/slave 模式(我们不使用 slave 模式)DWC2 在 buffer dma模式下对于中断传输不支持硬件处理 NAK 中断,因此需要软件处理,导致 NAK 中断非常多,建议搭配定时器使用。
DWC2 scatter/gather dma 模式下全部由硬件处理,但是不支持 split 传输。总结, **半斤 IP**。 DWC2 scatter/gather dma 模式下全部由硬件处理,但是不支持 split 传输。总结, **食之无味,弃之可惜**。
USB host 连接 USB 网卡问题 USB host 连接 USB 网卡问题
---------------------------------------------------------------- ----------------------------------------------------------------
@@ -129,3 +129,9 @@ USB host 连接 USB 网卡问题
当芯片带有 cache 功能,并且没有使用 no cache ram 时需要开启此宏以保证数据一致性。 **使用 EHCI 时,内部依旧需要使用 nocache ram**。通常,对于第三方平台或者组件,没有使用 no cache ram 宏修饰,都是使用全局变量或者 malloc 等 当芯片带有 cache 功能,并且没有使用 no cache ram 时需要开启此宏以保证数据一致性。 **使用 EHCI 时,内部依旧需要使用 nocache ram**。通常,对于第三方平台或者组件,没有使用 no cache ram 宏修饰,都是使用全局变量或者 malloc 等
操作,这部分 RAM 通常是走 cache 的,因此需要开启此宏。建议第三方平台使用时,必须开启。 操作,这部分 RAM 通常是走 cache 的,因此需要开启此宏。建议第三方平台使用时,必须开启。
哪些 IP 对数据有对齐要求
-------------------------------------------------
- 在未开启 CONFIG_USB_DCACHE_ENABLE 时,仅 DWC2/WCH/AIC IP 需要 4字节对齐其余 1字节对齐即可。
- 在开启 CONFIG_USB_DCACHE_ENABLE 时,所有 IP 都需要对齐到 CONFIG_USB_ALIGN_SIZE 字节

View File

@@ -69,6 +69,7 @@
<li class="toctree-l2"><a class="reference internal" href="#usb-err-nak">USB_ERR_NAK 说明</a></li> <li class="toctree-l2"><a class="reference internal" href="#usb-err-nak">USB_ERR_NAK 说明</a></li>
<li class="toctree-l2"><a class="reference internal" href="#usb-host-usb">USB host 连接 USB 网卡问题</a></li> <li class="toctree-l2"><a class="reference internal" href="#usb-host-usb">USB host 连接 USB 网卡问题</a></li>
<li class="toctree-l2"><a class="reference internal" href="#config-usb-dcache-enable">什么时候需要开启 CONFIG_USB_DCACHE_ENABLE</a></li> <li class="toctree-l2"><a class="reference internal" href="#config-usb-dcache-enable">什么时候需要开启 CONFIG_USB_DCACHE_ENABLE</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ip">哪些 IP 对数据有对齐要求</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="share.html">开发者经验/开源项目分享</a></li> <li class="toctree-l1"><a class="reference internal" href="share.html">开发者经验/开源项目分享</a></li>
@@ -277,8 +278,8 @@
</section> </section>
<section id="usb-err-nak"> <section id="usb-err-nak">
<h2>USB_ERR_NAK 说明<a class="headerlink" href="#usb-err-nak" title="Link to this heading"></a></h2> <h2>USB_ERR_NAK 说明<a class="headerlink" href="#usb-err-nak" title="Link to this heading"></a></h2>
<p>USB_ERR_NAK 只存在于 DWC2 buffer dma 模式DWC2 在 buffer dma模式下对于中断传输不支持硬件处理 NAK 中断,因此需要软件处理,导致 NAK 中断非常多,建议搭配定时器使用。 <p>USB_ERR_NAK 只存在于 DWC2 buffer dma/slave 模式(我们不使用 slave 模式)DWC2 在 buffer dma模式下对于中断传输不支持硬件处理 NAK 中断,因此需要软件处理,导致 NAK 中断非常多,建议搭配定时器使用。
DWC2 scatter/gather dma 模式下全部由硬件处理,但是不支持 split 传输。总结, <strong>半斤 IP</strong></p> DWC2 scatter/gather dma 模式下全部由硬件处理,但是不支持 split 传输。总结, <strong>食之无味,弃之可惜</strong></p>
</section> </section>
<section id="usb-host-usb"> <section id="usb-host-usb">
<h2>USB host 连接 USB 网卡问题<a class="headerlink" href="#usb-host-usb" title="Link to this heading"></a></h2> <h2>USB host 连接 USB 网卡问题<a class="headerlink" href="#usb-host-usb" title="Link to this heading"></a></h2>
@@ -289,6 +290,13 @@ DWC2 scatter/gather dma 模式下全部由硬件处理,但是不支持 split
<p>当芯片带有 cache 功能,并且没有使用 no cache ram 时需要开启此宏以保证数据一致性。 <strong>使用 EHCI 时,内部依旧需要使用 nocache ram</strong>。通常,对于第三方平台或者组件,没有使用 no cache ram 宏修饰,都是使用全局变量或者 malloc 等 <p>当芯片带有 cache 功能,并且没有使用 no cache ram 时需要开启此宏以保证数据一致性。 <strong>使用 EHCI 时,内部依旧需要使用 nocache ram</strong>。通常,对于第三方平台或者组件,没有使用 no cache ram 宏修饰,都是使用全局变量或者 malloc 等
操作,这部分 RAM 通常是走 cache 的,因此需要开启此宏。建议第三方平台使用时,必须开启。</p> 操作,这部分 RAM 通常是走 cache 的,因此需要开启此宏。建议第三方平台使用时,必须开启。</p>
</section> </section>
<section id="ip">
<h2>哪些 IP 对数据有对齐要求<a class="headerlink" href="#ip" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p>在未开启 CONFIG_USB_DCACHE_ENABLE 时,仅 DWC2/WCH/AIC IP 需要 4字节对齐其余 1字节对齐即可。</p></li>
<li><p>在开启 CONFIG_USB_DCACHE_ENABLE 时,所有 IP 都需要对齐到 CONFIG_USB_ALIGN_SIZE 字节</p></li>
</ul>
</section>
</section> </section>

File diff suppressed because one or more lines are too long