在上一篇博客,我分享了如何在 linux 开发环境,搭建esp32的开发环境,虽然 windows 环境差异不是特别大,但是鉴于有部分同学缺乏这块经验,因此特针编写此博客,分享并记录在 windows 环境下如何搭建esp32的 IDF 开发环境
关于如何在linux开发环境搭建 ESP32 的 IDF 开发环境教程以及如何自己重新搭建ESP32开发工程,请参阅:ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门
关于搭建ESP32-IDF的方案有很多中,在windows环境下方案可能比linux环境下更多,但是在了解了诸多方案之后,我个人还是更加推荐本文所述方案,此方案具有的一个很关键的优点在于:
那么怎么理解这个呢?由于 IDF 是官方不定期更新的,通常 IDF 更新都会修复部分bug或引入部分新功能,因此我们保持本地IDF版本较新也很关键,通过此种方案,我们在更新IDF的时候可以单独更新IDF,而不用重装所有环境,且 IDF 的更新通过 git 工具,输入简单的几个命令即可完成 !!!
那么接下来我们就讲解下如何进行 ESP32 的windows开发环境搭建吧!
在此环境下使用 git
工具克隆 esp32 idf 工程文件
在 git 终端内运行 git clone --recursive https://github.com/espressif/esp-idf.git
clone完毕之后进入对应的idf目录,并使用git status
检查clone是否完整,此步骤十分重要!由于网络问题,可能会存在clone下来之后缺失子模块的情况,那是clone不完整的表现,需要解决网络问题后重新clone或参考下述离线解决方案!
cd ./esp-idf
git status
切换为正式发布版本,我们默认克隆下来的是master分支,master分支为开发分支,是不稳定分支,我们需要切换到稳定的发布分支
运行 git status
命令,查看新分支是否与master存在差异,这一步很重要!(我可是实实在在的踩过了坑)
可以看到,我这从master分支切换到v5.0.1版本,存在诸多子模块的变化,以及还多了几个master分支遗留的文件!
使用 windows power shell
工具打开此目录,并运行目录下的 install.ps1
文件;
如果没有 windows power shell
的,可以使用 CMD
命令终端,如果使用 CMD
命令终端,则应运行 .\install.bat
默认会将其他编译工具,如交叉编译工具链之类的安装到 C:\Users\用户\.espressif
目录下,安装完成后提示如下
至此,windows环境下的esp32 idf环境已经搭建完成啦,接下来就让我们测试一下吧!
(注意刚刚打开的那个 windows power shell
终端别关闭了,还要测试呢!)
如果终端不小心关闭了,那就重新打开 powershell
进入 esp-idf
目录下,运行./export.ps1
命令,导入esp32 idf的环境变量,注意如果是 cmd
终端,则运行 ./export.bat
,这两个不通用!
进入例程文件夹目录下,选择一个例程,编译试一试,这里我们进入esp-idf/example/get-started/hello_world
工程路径下测试
编译成功会提示 运行 idf.py -p (PORT) flash
命令进行下载
继续在 windows power shell
内输入 idf.py -p COM3 flash monitor
命令进行下载和监控(注意修改com口为对应自己电脑上的COM口)
如果只需要下载,可单独运行 idf.py -p COM3 flash
(注意修改com口为对应自己电脑上的COM口)
如果只需要监控,可单独运行 idf.py -p COM3 monitor
(注意修改com口为对应自己电脑上的COM口)
注意,我们此处使用的是ESP32 Node开发板,板子上自带了自动下载电路,所以下载不需要按键,下载完之后也可以由程序自动复位运行;如果你的电脑没有自动下载电路,需要拉低 boot
之后复位esp32进入下载模式,下载完成之后,需要拉高boot
之后复位esp32运行程序!
刚刚体验过之后,你有没有发现,每次打开 powershell
都需要进入到esp-idf的安装目录下去运行 ./export.ps1
指令(cmd终端软件对 ./export.bat
命令),这是一个非常难受的事情,那有没有办法快速做到这一步呢?那是当然,毕竟大家都是程序员,程序员的最终奥义就是通过程序来提高生活的品质和效率的!
我们通过将执行 esp-idf 内的export.ps1
设置成powershell内的一个变量,之后再每次powershell打开的时候自动执行不就可以了吗!接下来我们看下如何实现:
powershell启动之后会自动调用环境变量$PROFILE
下的脚本文件,我们需要先找到此文件的位置,在powershell内键入$PROFILE
命令,即可找到对应的目录位置
找到对应的文件夹,打开文件,如果没有此文件可在对应目录下新建此文件Microsoft.PowerShell_profile.ps1
,注意文件命名需要一致
使用记事本打开此文件,输入以下内容:New-Alias -Name get_idf -Value E:\esp-idf\esp-idf\export.ps1
,此内容的函数是给powershell定义一个变量get_idf
,变量的值为E:\esp-idf\esp-idf\export.bat
之后使用管理员模式打开powershell,重新打开powershell会提示 无法加载文件 E:\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,因为在此系统上禁止运行脚本。有关详细 信息
这是由于你的电脑默认禁止运行脚本,以防止恶意脚本攻击,我们把它关掉就好了(后续自己用电脑的时候注意,少访问不良网站应该基本上不会被攻击)
输入 set-ExecutionPolicy RemoteSigned
命令,修改它为RemoteSigned
,选择 y
同意(如果不能修改,请检查是否以管理员身份运行)
接下来,可以从任意文件夹下,打开powershell,之后输入 get_idf
即可自动调用 esp-idf
目录下的脚本文件了!
此部分内容在我的另外一篇博客内有详细描述,此处就不重复编写,请大家参见:
(点击跳转)ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门(点击跳转)
注意链接博客是针对esp32 linux环境下搭建的,但是创建工程、配置工程部分内容一样适用于windows。
我默认你已经学会了第五章中的工程配置,现在我们开始使用vscode进行开发
ctrl + shift + ~
打开终端,可以看到,如果你装了 windows power shell
默认会打开powershell的终端,如果你没装,默认是打开的 CMD 终端powershell
启动的时候默认调用了我们第四章描述的脚本文件,因此我可以直接输入get_idf
配置环境,如此简单!克隆过程中可能会由于国内源限制,导致github访问延时,导致clone失败,解决此问题的方案有很多,大家可以各显神通,这里我推荐一种办法
访问乐鑫官网,下载ESP-IDF离线包,对应网址:https://dl.espressif.com/dl/esp-idf/?idf=4.4
这里注意下载的时候,选择下载ESP-IDF安装包,而不是最上面的IDE,同时推荐下载最新版本IDF,最新的往往修复了部分bug,官方支持也比较好!
下载下来之后虽然git status会发现很多变更不干净,我也不清楚官方放在上面的包为什么会这样子,不过我选择相信它,所以大家放心的根据自己使用的软件直接运行 .\install.ps1
或 .\install.bat
开干把,遇到问题欢迎在评论区分享!
创作不易,转载请注明出处!
关注、点赞+收藏,可快速查收博主有关分享!