type
date
slug
category
icon
password
参考资料一、WSL 环境搭建在 Windows 系统中安装 Ubuntu (WSL)检查 Windows 上的 Ubuntu (WSL)在 WSL 中添加所需的 Linux 软件包在 WSL 中使用 usbipd-win二、Visual Studio Code 插件安装三、构建、烧录和调试在 WSL 中打开项目构建项目烧录固件外部 USB 转串口设备USB 转 JTAG 设备调试步骤
参考资料
在 Windows 系统中使用 WSL - - — ESP-IDF Extension for VSCode latest 文档
本文将展示如何基于 Visual Studio Code 中的 ESP-IDF 和 Remote - WSL 扩展,在 WSL 中开发项目。
一、WSL 环境搭建
在 Windows 系统中安装 Ubuntu (WSL)
检查 Windows 上的 Ubuntu (WSL)
在 WSL 中添加所需的 Linux 软件包
进入WSL 环境,安装在 Linux 系统中使用 ESP-IDF 所需的工具链
在 WSL 中使用 usbipd-win
必须安装
usbipd-win
,才能访问来自本地 Windows 的 USB 设备、串口设备以及 JTAG 设备,否则无法在 IDF Docker 镜像中进行下载、监控和调试。安装方式与其他 Windows 应用程序相同,这里不再赘述。安装好上述所有必要工具后,请继续进行下列配置。
在 PowerShell 命令提示符中安装 usbipd。
配置 USB 串口设备,通过 usbipd 连接到 WSL
以管理员权限打开 PowerShell 命令提示符,输入下列指令,获取 USB 串口设备列表。
要从 Windows 本地访问 WSL 上的指定设备,必须使用
usbipd
绑定设备。除非重启计算机,否则此命令只需使用一次。1-1 是想要绑定的设备的
<BUSID>
。绑定后,请在 PowerShell 命令提示符中使用下列指令将指定设备附加到 WSL 中。
最后,通过在 WSL 环境中输入下列指令,验证连接是否成功。
felix@Home-WorkStation:~$ dmesg | tail
[43766.535973] usb 1-1: SetAddress Request (2) to port 0
[43766.600256] usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[43766.600260] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[43766.600261] usb 1-1: Product: CP2102 USB to UART Bridge Controller
[43766.600262] usb 1-1: Manufacturer: Silicon Labs
[43766.600263] usb 1-1: SerialNumber: 0001
[43766.626814] usbcore: registered new interface driver cp210x
[43766.626823] usbserial: USB Serial support registered for cp210x
[43766.626831] cp210x 1-1:1.0: cp210x converter detected
[43766.628590] usb 1-1: cp210x converter now attached to ttyUSB0
如上所示,1-1 设备已附加到
ttyUSB0
,WSL 现在可以访问 1-1 USB 设备。二、Visual Studio Code 插件安装
安装下图中的 Remote - WSL、Remote Development 和 ESP-IDF 扩展。



三、构建、烧录和调试
在 WSL 中打开项目
单击 Visual Studio Code 左下角的
><
按钮。选择 在 WSL 中打开文件夹,配置 WSL 并打开 Blink
例程项目。上面安装的ESP-IDF 扩展安装在宿主机(Windows)环境下,在 WSL 中按照 安装 ESP-IDF 和相关工具 中的指导来配置 ESP-IDF 扩展。
在 WSL 中运行设置程序时,默认使用 用户设置 (User Settings),这可能会覆盖 Windows 主机的配置,因此建议将设置保存到 工作区 (workspace) 或 工作区文件夹 (workspace folder),避免影响 Windows 系统的全局配置。
此时,可以开始使用
Blink
示例项目进行构建、烧录、监视、调试等操作。构建项目
以 ESP32-C3 为例,若想将其作为目标设备,只需如图所示将
esp32
更改为 esp32c3
。
接下来,开始构建示例项目:

烧录固件
构建完成后,可以通过以下三种方式烧录固件。
外部 USB 转串口设备
按照前文
usbipd
指令描述部份的教程进行操作。此处以 Silicon Labs CP210x USB to UART Bridge
为例,此设备已附加到 WSL 中。
如图所示,该设备已附加到
ttyUSB0
,因此 idf.port
也需要进行相应更改。
但此时容器尚未识别到更改的配置。

选择
在本地重新打开文件夹
,重新打开容器,新的配置也将重新加载。
最后,点击
Flash
按钮下载固件。
USB 转 JTAG 设备
与 外部 USB 转串口设备 和 内部 USB 转串口设备 相同,但使用 USB 转 JTAG 设备时需要配置以下额外参数:

接口与 USB 转 JTAG 设备 相同,即
ttyACMx
:
调试步骤
运行 OpenOCD 并开始调试会话之前,复确保将 OpenOCD udev 规则文件 复制到
/etc/udev/rules.d
目录中。配置好 USB 转 JTAG 设备 后,按
F5
开始调试:
- Author:felixfixit
- URL:http://www.felixmicrospace.top/article/esp32_wsl_envbuild
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!