<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cherryusb.git/port/ch32/ch32fs, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/cherryusb.git/atom/port/ch32/ch32fs?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/cherryusb.git/atom/port/ch32/ch32fs?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/'/>
<updated>2026-08-12T10:50:04Z</updated>
<entry>
<title>fix(ch32fs): SETUP 中断固定 NAK EP0,支持 CH32L103</title>
<updated>2026-08-12T10:50:04Z</updated>
<author>
<name>xiaowine</name>
<email>xiaowine0@gmail.com</email>
</author>
<published>2026-08-12T10:35:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=639a4760f7e1222a41cca5a7f296f681e0d258ff'/>
<id>urn:sha1:639a4760f7e1222a41cca5a7f296f681e0d258ff</id>
<content type='text'>
CH32FS IP 的 SETUP 中断触发时,INT_ST 端点字段不总为 0(在 CH32L103 和
CH32V203 上实测约 50% 为 4,来自上一次批量事务的残留)。原代码
USB_SET_RX_CTRL(ep_idx, NAK) 会写错 UEP{ep_idx} 寄存器,导致 EP0
停留在 ACK 状态,Windows 存储栈挂载设备前会卡约 20 秒。
(可能影响所有使用 CH32FS IP 的 MCU,但仅在 CH32L103/CH32V203 上验证)

改为固定 NAK EP0(索引 0),并同时 NAK TX 和 RX。其中 TX NAK 一行对
CH32L103 是必需的,缺少会导致设备枚举失败(Windows 设备管理器 Code 10);
WCH CH32FS IP 的 MCU 官方 EVM 代码也都是同时两行 NAK,且官方 SETUP
处理代码同样固定使用 EP0(索引 0)。

同时在支持列表中加入 CH32L103(使用 USBFS)。CH32V20X 有两个 USB IP:
USBD(用 fsdev,与 F103 相同)和 USBFS(用 ch32fs),已在
port/ch32/README.md 中说明。
</content>
</entry>
<entry>
<title>refactor(port/ch32): classify ch32 port</title>
<updated>2025-06-12T13:35:51Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2025-06-12T13:35:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=6a226e3e3ca654e0c9d43ae4a8add794381dcce3'/>
<id>urn:sha1:6a226e3e3ca654e0c9d43ae4a8add794381dcce3</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
</feed>
