温馨提示
推荐使用 WSL(Windows 下的 Linux 子系统)进行开发,比虚拟机更轻量、启动更快。
操作步骤
在 Windows 开始菜单搜索 PowerShell,右键选择 以管理员身份运行,然后执行下面命令安装 Linux 子系统(安装过程需要联网下载,请耐心等待):
wsl --install安装完成后按提示重启电脑(记得先保存资料)。重启后首次打开 WSL 会继续完成组件初始化。
WSL 装好后,还需要安装 Ubuntu 发行版并完成基础配置,具体步骤见:Ubuntu 安装教程——WSL 安装章节
Windows 11 的 WSL2 不支持自动串口映射,当串口设备接入 Windows 后,需要在 WSL2 里手动映射串口。先下载并安装 USBIPD-WIN:下载 usbipd-win_5.2.0_x64.msi。双击安装包按提示完成安装,然后重启电脑。
以管理员模式打开 PowerShell,执行下面的命令列出连接到 Windows 的所有 USB 设备,选择并复制要附加到 WSL 的设备总线 ID(如 4-4):
附加设备前请保持 WSL 命令行处于打开状态,这样 WSL2 轻量虚拟机才不会休眠。
usbipd list执行 usbipd bind 共享设备,它才能附加到 WSL(需要管理员权限)。把 4-4 换成你上一步复制的总线 ID,运行后再次执行 usbipd list 验证设备已共享:
usbipd bind --busid 4-4执行下面的命令把设备附加到 WSL:
- 附加后 Windows 将暂时无法使用该设备,属于正常现象
- 设备一旦附加,WSL2 里所有发行版都能访问它
usbipd attach --wsl --busid <busid>打开 Ubuntu(或首选 WSL 命令行),执行下面的命令列出串口设备,能看到刚附加的设备就说明映射成功:
ls /dev/ttyACM*在 WSL 中使用完设备后,可以物理拔出,也可以从 PowerShell 执行下面的命令断开(<busid> 换成实际总线 ID):
usbipd detach --busid <busid>常见问题
usbipd 不是内部或外部命令
说明 USBIPD-WIN 未安装成功或安装后没有重启电脑;重新安装并重启后,以管理员身份重新打开 PowerShell 再试。
usbipd attach 提示设备未共享
先执行 usbipd bind --busid <busid> 共享设备,并用 usbipd list 确认设备已变为共享状态,再执行 attach。
ls /dev/ttyACM* 看不到设备
确认 WSL 命令行保持打开;如果设备是 COM 口,串口设备名一般是 /dev/ttyACM0 或 /dev/ttyUSB0;也可以执行 lsusb 查看 USB 设备是否已附加。
遇到问题?
如有其他问题,请到统一的提问与讨论区:Ai-Thinker Discussions

