ESP-IDF-VSCode环境搭建

ESP32-IDF环境配置感觉有点麻烦…有不少坑 踩完坑之后回来记录一下。

对于大多数开发者 直接用PlatformIO IDE甚至Arduino就可以完成绝大多数需求,但是我并不喜欢功能不全的IDE环境。
最开始我尝试安装ESP-IDF插件失败的时候 我也是一直用的PlatformIO IDE但是遇到芯片内部配置的时候就很麻烦,make menuconfig用不了。
然后我就又滚回来继续折腾ESP-IDF了。

安装”ESP-IDF”插件

直接打开VSCode 搜索安装即可。

配置ESP-IDF插件

安装后 会弹出如下界面

如未弹出 需要按下F1 搜索ESP-IDF找到如下选项

选择Python位置。注意Python尽量高一点 这里用的是Python3.8

然后需要安装ESP-IDF,如果没有梯子 直接下载会很慢 所以我直接去乐鑫官网下载安装包并解压到了一个无权限的文件夹
然后选择解压后的位置

截止博客编辑时,最新版本为Pre-release v4.1-beta2
乐鑫服务器下载地址:https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v4.1-beta2.zip
如何获取最新版ESP-IDF国内通道下载链接?
先访问: https://github.com/espressif/esp-idf/releases
然后在最新的版本的末尾 找到dl.espressif.com域名的下载链接
如图:

点击Check后 会出现红圈内验证成功提示

然后选择Skip 因为不挂梯子下载太慢了

然后下载ESP-TOOL

对于Windows 有ESP-TOOL一键安装工具
先访问 https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/windows-setup.html#get-started-windows-tools-installer

然后找到

截止博客更新时 最新的esp-tool下载链接为 https://dl.espressif.com/dl/esp-idf-tools-setup-2.3.exe

然后安装 尽量不要自行更改安装位置 否则后续环境变量配置起来可能踩坑。注意Python等路径的选择。

然后将你前文中ESP-IDF的位置加入环境变量IDF_PATH中 (其他先不管 先只加这一个)

然后打开PowerShell 对esp-idf自带的Python安装Package

对于CMD

1
%userprofile%\.espressif\python_env\idf4.1_py3.8_env\Scripts\python.exe -m pip install -r %IDF_PATH%\requirements.txt

对于PowerShell

1
~\.espressif\python_env\idf4.1_py3.8_env\Scripts\python.exe -m pip install -r $env:IDF_PATH\requirements.txt

注: esp-tool的默认安装目录为%userprofile%\.espressif\,即你用户文件夹下的.espressif中 如果更改了目录 请自行替换。

然后配置环境变量:
CMD:

1
2
3
cd %userprofile%
install.bat
export.bat

PowerShell:

1
2
3
cd ~\.espressif
./install.ps1
./export.ps1

然后将以下工具文件的路径复制进第一个文本框,英文分号做分割:

1
2
3
4
5
6
7
8
9
ccache
cmake
esp32s2ulp-elf
sp32ulp-elf
idf-exe
ninja
openocd-esp32
xtensa-esp32-elf
xtensa-esp32s2-elf

依次是你esp-tool\tools下所有文件夹下对应的可执行文件的路径 具体路径视版本而定。一般是在bin文件夹下

我这里是:

1
C:\Users\h13\.espressif\tools\ccache\3.7;C:\Users\h13\.espressif\tools\cmake\3.13.4\bin;C:\Users\h13\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin;C:\Users\h13\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin;C:\Users\h13\.espressif\tools\idf-exe\1.0.1;C:\Users\h13\.espressif\tools\ninja\1.9.0;C:\Users\h13\.espressif\tools\xtensa-esp32-elf\esp-2019r2-8.2.0\xtensa-esp32-elf\bin;C:\Users\h13\.espressif\tools\xtensa-esp32s2-elf\esp-2019r2-8.2.0\xtensa-esp32s2-elf\bin;C:\Users\h13\.espressif\tools\openocd-esp32\v0.10.0-esp32-20191114\openocd-esp32\bin

//(不用想着直接复制了,版本不一样肯定不通用 得自己一个一个打 注意是英文分号做分割 一般不会一次成功 注意备份以上语句)

注意: C:\Users\h13\.espressif是你esp-tool的路径
最新版本的ESP-IDF已经不支持相对路径 请使用绝对路径

注: 如果后续仍然出现下图的PythonPackage()

就再执行以下如下指令
CMD:

1
pip install -r %IDF_PATH%\requirements.txt

PowerShell:

1
pip install -r $env:IDF_PATH\requirements.txt

然后又可以愉快的写BUG啦~

就是为了个menuconfig浪费这么多时间…

常见错误

卡在了”PythonPackage”


重新走一遍Python Package安装步骤,重启VSCode

  1. 先给esp-tool目录下的python安装一遍
    对于CMD

    1
    %userprofile%\.espressif\python_env\idf4.1_py3.8_env\Scripts\python.exe -m pip install -r %IDF_PATH%\requirements.txt

    对于PowerShell

    1
    ~\.espressif\python_env\idf4.1_py3.8_env\Scripts\python.exe -m pip install -r $env:IDF_PATH\requirements.txt
  2. 重启 如果不行 就再给系统的Python安装一遍
    CMD:

    1
    pip install -r %IDF_PATH%\requirements.txt

    PowerShell:

    1
    pip install -r $env:IDF_PATH\requirements.txt

esp-tool路径配置不全或不正确


哪里有X就检查哪个的路径


2020-08-21
更新:
最新ESP-IDF已经不支持 %userprofile% 或者 ~ 等相对路径 需要更改为绝对路径。