如何使用 WSL + VSCode 搭建 ESP32 开发环境
乐鑫信息科技
2020年09月27日 17:06

什么是 WSL ?

有了 WSL ,用户既能使用 Windows 桌面环境,又能使用更强大的 Linux 终端工具

WSL(Windows Subsystem for Linux):WSL 是运行在 Windows 上的 GNU/Linux 环境,Linux 程序无需修改即可在 Windows 上运行,包括大多数命令行工具、实用程序和应用程序,没有传统虚拟机或双引导设置的开销。

注意:只支持 Windows 10 Version 1903 或更高版本

WSL2 提升了文件系统性能

WSL2 升级了 WSL 的软件架构,支持在 Windows 上直接运行 ELF64 Linux 二进制文件。它的优点是提高了文件系统性能(2-5 倍提升),以及增加整个系统调用的兼容性。

WSL 官方文档:https://docs.microsoft.com/en-us/windows/wsl/

1. 启用 WSL

方法 1:在启用或关闭 Windows 功能中,勾选“适用于 Linux 的 Windows 子系统” (Windows Subsystem for Linux),然后按照提示重启电脑。

方法 2(推荐):可以通过命令行指令开启,管理员模式进入  ,然后运行:

有些电脑可能提示安装 Linux kernel update package(https://docs.microsoft.com/en-us/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package),下载安装即可。

如何切换 WSL 版本 ?

如果需要切换  版本,可通过命令行 进行切换,例如将  版本切换为 

是否要切换取决于你的应用场景,如果需要使用 USB 和串口,可以暂时使用 ,目前  还不支持操作 USB 和串口(2020.09)。

2. 选择并安装一个 Linux 发行版

这里建议选择 ,直接在 搜索并安装:

应用安装好以后,可以直接运行:

默认只有终端,也可以手动安装 Ubuntu 的图形界面,但是并不建议。

3. 克隆 ESP-IDF 代码仓库

方法 1:从 github 下载,可以直接克隆主仓库和子仓库:

方法 2(推荐):从国内镜像 gitee 下载,需要使用以下操作:

  • 下载子仓库重定向工具 esp-gitee-tools

  • 克隆主仓库代码

  • 克隆重定向后的子仓库代码

官方 gitee 操作指南,请参考:

submodule-update(https://gitee.com/EspressifSystems/esp-gitee-tools/blob/master/docs/README-submodule-update.md)

4. 安装 ESP-IDF 工具链

1. 将默认 python 切换为 python3 (可选步骤,推荐

1.1 修改 ubuntu 源到国内镜像:

删除该文件全部内容,粘贴以下内容并保存:

1.2 安装 python3 :

1.3 将 python 默认切换为 python3:

2. 将 pip 源更换到国内镜像(可选步骤,推荐)

方法 1 :pip 版本 >= 10.0.0,可以使用以下方式:

方法 2(通用):可以创建并修改配置文件  :

将下面内容添加到文件并保存:

3. 安装依赖

在终端输入以下指令,安装依赖工具:

进入 esp-idf 目录,安装 Python 依赖包:(该步骤可忽略,后续 install.sh 会默认安装)

4. 安装编译工具链

方法 1 :从默认路径下载并安装工具链

方法 2(推荐) :从国内镜像下载并安装工具链,需要使用以下操作:

5. 安装 VSCode WSL 插件

如果从 WSL 启动 VSCode,一般会自动安装插件,之后就能直接在 VSCode 中使用 Linux 的终端编译程序啦!!

6. 编译示例程序

添加环境变量:

进入  示例程序:

直接在终端输入:

编译成功!!

7. 下载程序

方法 1 : 直接在 WSL 终端使用 (目前仅限 WSL1) 

WSL1 可直接访问串口下载程序,需要注意的是,如果你的串口号在 Windows 上显示为 COM3,那么在 wsl 下载程序时,需要对应修改为 ,直接使用以下命令下载:

终端显示下载过程:

部分电脑可能遇到的问题:CP2102 USB 转串口芯片导致不能下载的问题(https://github.com/microsoft/WSL/issues/3795)

方法 2 : 使用 Flash Download Tools 下载 (WSL2 推荐使用)

注意:截止到 2020.09 月,WSL2 还不支持访问 usb 和 串口,Windows 烧录工具下载:Flash Download Tools(https://www.espressif.com/en/support/download/other-tools)

在 wsl 终端输入,即可使用 Windows 上的文件管理器打开当前的 wsl 目录

使用 Flash Download Tools 输入 bin 的路径和地址进行下载

8. Hello world !

方法 1 : 直接在 WSL 终端使用 (目前仅限 WSL1) 

WSL1 可直接访问串口下载程序,需要注意的是,如果你的串口号在 Windows 上显示为 COM3,那么在 wsl 下载程序时,需要对应修改为 ,直接使用以下命令下载并打印:

方法 2(通用) : 使用任意 Windows 串口工具(WSL2 推荐使用)

配置端口号 ,波特率 ,直接打开即可显示: