Lazy loaded image
🤖 ROS 理论与实践
基于WSL2搭建ESP32开发环境(Windows)
Words 1174Read Time 3 min
2025-6-17
2025-6-25
type
date
slug
category
icon
password

参考资料

在 Windows 系统中使用 WSL - - — ESP-IDF Extension for VSCode latest 文档

一、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 - WSLRemote Development 和 ESP-IDF 扩展。
notion image
notion image
notion image

三、构建、烧录和调试

在 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
notion image
接下来,开始构建示例项目:
notion image

烧录固件

构建完成后,可以通过以下三种方式烧录固件。

外部 USB 转串口设备

按照前文 usbipd 指令描述部份的教程进行操作。此处以 Silicon Labs CP210x USB to UART Bridge 为例,此设备已附加到 WSL 中。
notion image
如图所示,该设备已附加到 ttyUSB0,因此 idf.port 也需要进行相应更改。
notion image
但此时容器尚未识别到更改的配置。
notion image
选择 在本地重新打开文件夹,重新打开容器,新的配置也将重新加载。
notion image
最后,点击 Flash 按钮下载固件。
notion image

USB 转 JTAG 设备

与 外部 USB 转串口设备 和 内部 USB 转串口设备 相同,但使用 USB 转 JTAG 设备时需要配置以下额外参数:
notion image
接口与 USB 转 JTAG 设备 相同,即 ttyACMx
notion image

调试步骤

运行 OpenOCD 并开始调试会话之前,复确保将 OpenOCD udev 规则文件 复制到 /etc/udev/rules.d 目录中。
配置好 USB 转 JTAG 设备 后,按 F5 开始调试:
notion image
 

 
上一篇
ROS2 常用命令行
下一篇
基于Docker搭建ESP32开发环境(Windows)

Comments
Loading...