ESP32之ESP-IDF + Clion 环境搭建(四)—— 锦囊①Windows下ESP-IDFv4.4飞速安装

本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!

↓↓↓通过下方对话框进入专栏目录页↓↓↓
CSDN 请求进入目录       _ O x

是否进入ESP32教学导航(基于ESP-IDF)?

       确定


注意:本文为 “锦囊文” ,只针对一个特定版本的ESP-IDF编译环境的安装。

想获取通用信息或安装其他版本,请点击上方对话框进入ESP32教学专栏导航

一、下载ESP-IDFv4.4

由于国内访问Github较慢,官方给我们提供了一个开箱即用的ESP-IDF。前往ESP-IDF的Github或Gitee发行版本页面即可找到(下文已给出)

ESP-IDF v4.4直接下载:https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v4.4/esp-idf-v4.4.zip

ESP-IDF v4.3.2直接下载:https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v4.3.2/esp-idf-v4.3.2.zip

下载之后解压到合适的位置即可(如D:\

二、加速ESP-IDF工具下载

添加一个系统环境变量IDF_GITHUB_ASSETS内容为dl.espressif.com/github_assets

① PowerShell(临时生效)

PS D:\> $env:IDF_GITHUB_ACCESS='dl.espressif.com/github_assets'

② CMD(临时生效)

或者在cmd里(路径不加引号)(只针对当前命令行串口有效)

set IDF_GITHUB_ACCESS=dl.espressif.com/github_assets

③ 直接编辑系统环境变量(永久生效)

此方法可能需要重启电脑也可能不需要
ESP32之ESP-IDF + Clion 环境搭建(四)—— 锦囊①Windows下ESP-IDFv4.4飞速安装
别忘了在powershell里验证一下是否需要重启,用echo命令打印一下
PowerShell:

PS D:\> echo $env:IDF_GITHUB_ACCESS

cmd:

echo %IDF_GITHUB_ACCESS%

三、执行全自动安装工具安装ESP-IDF工具

原理:执行刚刚下载的esp-idf文件夹里名为install的脚本。

命令行环境 对应文件
PowerShell install.ps1
CMD install.bat

① 使用PowerShell

PowerShell 进入到 esp-idf目录。路径和文件名支持使用Tab补全
(这里假设你的esp-idf路径为D:\esp-idf-v4.3.2\

PS C:\> cd d:
PS D:\> cd esp-idf-v4.3.2
PS D:\esp-idf-v4.3.2\> .\install.ps1

如果提示找不到git,请自行安装git

请进入本专栏导航页环境搭建部分的Windows篇,查看“方法三:遗留的方法”第一步“安装git for windows”(后期可能会更改)

如果系统提示类似下文的信息,请更改使用命令提示符安装

PS D:\esp-idf> .\export.ps1

.\export.ps1 : 无法加载文件 D:\esp-idf\export.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft
.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1

Win + R 键打开运行,输入cmd即可打开命令提示符

② 使用 cmd (命令提示符)

cmd与powershell不同的是,cmd切换盘符不能用cd命令,参考第一行
(这里假设你的esp-idf路径为D:\esp-idf\

C:\Users\Augtons> d:

D:\> cd esp-idf

D:\esp-idf> install.bat

如果提示找不到git,请自行安装git

请进入本专栏导航页环境搭建部分的Windows篇,查看“方法三:遗留的方法”第一步“安装git for windows”(后期可能会更改)

③ 安装缓慢或无法连接服务器的解决方法

如果你完全按照上文的操作进行的安装,或者按照其他的方法但未更改ESP-IDF工具的安装位置。你得ESP-IDF工具会默认被安装在C:\Users\Augtons\.espressif(在Windows10/11的中文版Users可能会显示成“用户”)

打开此文件夹之后会有一个dist文件夹,这是下载缓存存放的目录。

我们要做的是从其他渠道下载所需的包,然后拷贝到此文件夹。
Windows系统下ESP-IDF v4.4会需要这些东西
ESP32之ESP-IDF + Clion 环境搭建(四)—— 锦囊①Windows下ESP-IDFv4.4飞速安装
这些东西我已经下载好了。私信博主可以直接获取。

这些包裹任何一个都不要重命名,也不要手动解压。不要做任何更改!!!直接放到dist即可。然后回到上文的方法即可

再次注意:使用命令行设置的IDF_GITHUB_ACCESS是临时生效的哦,重新打开命令行窗口可是要重新设置的(安装完毕后就不需要了)

拓展:我是怎么得到这些文件的?怎么手动去获取这些文件
 
打开官方文档中说明IDF工具清单:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/tools/idf-tools.html
往下翻会有一个List of IDF Tools的小标题,里边是所需的工具
(当然,请提前将文档切换到对应的版本)
ESP32之ESP-IDF + Clion 环境搭建(四)—— 锦囊①Windows下ESP-IDFv4.4飞速安装
然后按照操作系统点击下载链接下载即可。
 
注意: 为提高下载速度,请将链接里的github.com全部替换为上文提到的dl.espressif.com/github_assets
例如:

https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch2-win64.zip

要替换为

https://dl.espressif.com/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch2-win64.zip

将此链接用浏览器的下载工具新建下载,或者直接在浏览器链接栏输入即可

四、编译一个HelloWorld验证环境搭建是否成功

全部安装成功后,在esp-idf目录下用cmd执行export.bat

D:\esp-idf> export.bat

如果出现如下输出,即前边的工作成功了几乎95%

Done! You can now compile ESP-IDF projects.
Go to the project directory and run:

  idf.py build

从ESP-IDF官方例程中把HelloWorld工程复制出来,例如我的在
D:\esp-idf-v4.4\examples\get-started\hello_world
复制到任意位置即可
使用cd命令导航到复制出来的hello_world文件夹里
执行idf build(或idf.py build)

PS D:\hello_world\> idf build

即可开始编译

Windows下每个工程的首次编译的时间可能会比较长,需要几分钟的时间(Linux下只需要十几秒的样子)

如果你提示

idf : 无法将“idf”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果
包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ idf
+ ~~~
    + CategoryInfo          : ObjectNotFound: (idf:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

说明你还没有执行export.batexport.ps1,请看上文在esp-idf目录下用cmd执行export.bat或用Powershell执行export.ps1 (原因是执行一次export只会对当前命令行窗口生效)

五、接下来的操作

如果刚才的编译没有问题,则说明前文所述的所有内容你都成功了!接下来就可以烧录这个HelloWorld程序到ESP32里了。

烧录的命令是idf flash
打开监视器的命令是idf monitor(关闭监视器Ctrl + ]

这个HelloWorld例程的内容是开机显示当前ESP32的硬件信息,然后10秒后自动重启ESP32

另请注意:开发环境的搭建并未完成,本文只介绍了搭建编译环境,并没有给大家搭建方便写程序的环境。请前往本文开头提到的 ESP32教学专栏导航 的第一部分环境搭建,来完成接下来的操作!

如果有其他问题欢迎私信博主

或官方文档 https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#get-started-connect

上一篇:ret2Syscall writeup


下一篇:【ESP32学习】基本知识与环境搭建