带你一次性完成 WSL2 开发 ESP32 环境的配置

乐鑫官方推荐的主流开发环境是 Windows + ESP-IDF,但是在 Windows 下进行 ESP32 开发时,如果项目代码体积较大,就会发现编译速度非常慢,严重影响开发效率。

这里推荐使用 WSL2(Windows Subsystem for Linux 2) 来搭建 ESP32 开发环境。实测编译速度最快能达到 Windows 环境下的四倍。

在这里插入图片描述

下面就让我来带大家一次性完成配置流程。


原理说明

使用 WSL2 提升开发速度的原理是:

  • Windows 负责图形界面、VS Code 编辑器、USB 串口驱动;
  • Linux 子系统(WSL2) 负责高效编译和工具链运行;
  • 通过 VS Code的WSL 插件,在 Windows VS Code 中远程连接 WSL2 环境,既保留了图形界面体验,又获得了 Linux 的编译速度。

安装 WSL2

  1. 打开 PowerShell(管理员权限)
    Win + R 输入 powershell 回车。

  2. 检查是否安装过 WSL:

    wsl --version
    

    一般会显示没有,或者提醒安装

    这时候我们就输入指令,进行wsl的安装

    wsl --install
    

    进行wsl的安装,默认会安装最新版,也就是我们想要的wsl2

  3. 如果之前有安装过wsl的朋友可以更新wsl内核

    wsl --update
    
  4. 搜索可以安装linux发行版

    wsl --list --online
    

    我们可以看到有非常多的linux发行版

请添加图片描述

  1. 这里我们选择安装 Ubuntu 22.04 LTS:

    wsl --install --distribution Ubuntu-22.04
    

    如果之前已经安装过,可以输入:

    wsl --set-version Ubuntu-22.04 2
    

    确认运行在 WSL2 模式。

  2. 安装完成后重启电脑,执行:

    wsl -l -v
    

    确认 Ubuntu-22.04 出现在列表,并且版本为 2

    请添加图片描述

    如果wsl版本落后,可以使用指令进行升级

    wsl --set-version Ubuntu-22.04 2
    
  3. 最后设置ubuntu作为默认的操作系统

    wsl -s Ubuntu-22.04
    

安装vscode的插件

  1. Windows 上安装 Visual Studio Code

  2. 在 Windows的VS Code 中安装插件:

    • Remote - WSL
    • C/C++ Extension Pack
    • ESP-IDF Extension
    • Chinese Language Pack

    首先在左侧栏,选择“拼图”图案,进行插件安装

在这里插入图片描述

大家在搜索框里面搜索并安装以下插件

请添加图片描述

进入 Ubuntu 并配置 ESP-IDF 环境

  1. 进入 Ubuntu 系统:

    wsl
    

    或者:

    wsl -d Ubuntu-22.04
    
  2. 建立开发目录,并进入esp32这个目录:

    cd ~
    mkdir esp32
    cd esp32
    
  3. 安装依赖包(Ubuntu 下必备):

    sudo apt-get install git wget flex bison gperf python3-pip python3-venv python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util
    
  4. 在wsl中进入vscode:

    code .
    

    进入esp32目录后使用code .这里code就会调用Windows的vscode,.则代表在当前位置打开vscode

  5. 在wsl里面的vscode进行esp环境的配置

    在vscode里面安装需要的插件

    大家注意,这里的插件和上面是在不同环境下的,所以是需要再次安装

    首先在左侧栏,选择“拼图”图案,进行插件安装

    请添加图片描述

    大家在搜索框里面搜索并安装以下插件

    请添加图片描述

    最后在espidf插件里面进行安装所需要的esp版本

请添加图片描述

在这里就可以一键完成espidf环境配置

请添加图片描述


在 Ubuntu 中使用 VS Code

  1. 在 Ubuntu 的开发目录下执行:

    cd ~/esp32
    code .
    

    这会通过 Remote WSL 打开 VS Code,并连接到 Linux 子系统。

  2. 首次打开 ESP-IDF 插件时,会提示配置工具链路径,直接选择刚才安装的 esp-idf 目录。


将 Windows 的串口分配给 WSL2

默认情况下,WSL 无法直接访问 Windows 的 COM 口,需要借助 usbipd-win 工具。

  1. 在 Windows PowerShell(管理员)执行安装:

    winget install usbipd
    
  2. 查看 USB 设备列表:

    usbipd list
    
  3. 找到 ESP32 的 USB 串口设备(通常是 CP2102CH340 等),记下 busid

  4. 绑定设备:

    usbipd bind --busid 5-3
    

    这里的5-3只是我的串口号,大家要根据自己实际的串口号进行修改

  5. 将设备挂载到 WSL:

    usbipd attach --wsl --busid 5-3
    
  6. 在 Ubuntu 下确认是否识别到串口:

    在vscode中加载好espidf插件之后下面的串口配置图标,发现存在分配过来的串口之后选择他就可以开始esp的烧录了

    如果能看到 /dev/ttyUSB0,说明成功。

    之后在 VS Code 的 ESP-IDF 插件中配置串口为 /dev/ttyUSB0,即可直接下载调试。


小结

本文完整介绍了如何在 WSL2 下快速配置 ESP32 开发环境:

  1. 安装并启用 WSL2;
  2. 进入 Ubuntu 配置 ESP-IDF;
  3. 使用 VS Code Remote WSL 插件进行开发;
  4. 通过 usbipd-win 将 Windows 串口分配给 WSL 使用;

这样就可以在 WSL2 上实现 高效编译、烧录、调试,体验远好于 Windows 原生环境。


这里也推荐大家去看esp官方文档,链接就放在这里啦esp官方文档参考

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐