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!










