原文链接:https://blog.csdn.net/qq_43332314/article/details/129776889?spm=1001.2014.3001.5502
原文作者:爱出名的狗腿子


ESP-IDF+PowerShell / Vscode (windows)ESP32开发环境搭建

1. 前言

在上一篇博客,我分享了如何在 linux 开发环境,搭建esp32的开发环境,虽然 windows 环境差异不是特别大,但是鉴于有部分同学缺乏这块经验,因此特针编写此博客,分享并记录在 windows 环境下如何搭建esp32的 IDF 开发环境


关于如何在linux开发环境搭建 ESP32 的 IDF 开发环境教程以及如何自己重新搭建ESP32开发工程,请参阅:ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门


关于搭建ESP32-IDF的方案有很多中,在windows环境下方案可能比linux环境下更多,但是在了解了诸多方案之后,我个人还是更加推荐本文所述方案,此方案具有的一个很关键的优点在于:


  • IDF 独立管理

那么怎么理解这个呢?由于 IDF 是官方不定期更新的,通常 IDF 更新都会修复部分bug或引入部分新功能,因此我们保持本地IDF版本较新也很关键,通过此种方案,我们在更新IDF的时候可以单独更新IDF,而不用重装所有环境,且 IDF 的更新通过 git 工具,输入简单的几个命令即可完成 !!!


那么接下来我们就讲解下如何进行 ESP32 的windows开发环境搭建吧!


2. 环境搭建

  1. 新建存放 ESP-IDF的文件夹

  1. 在此环境下使用 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


如上,git status 命令提示没有任何变更,此时才是可以使用的!

  1. 切换为正式发布版本,我们默认克隆下来的是master分支,master分支为开发分支,是不稳定分支,我们需要切换到稳定的发布分支


    • 使用 git tag 查看对应的发布分支
    • 使用 git checkout 分支名 切换到发布分支

  2. 运行 git status 命令,查看新分支是否与master存在差异,这一步很重要!(我可是实实在在的踩过了坑)


  3. 可以看到,我这从master分支切换到v5.0.1版本,存在诸多子模块的变化,以及还多了几个master分支遗留的文件!


    • 针对未同步的子模块,运行 git submodule update —init —recursive 更新子模块
    • 针对master分支遗留的文件,直接进行删除操作

      直到我们运行 git status 查看当前分支工作区,工作区状态为干净状态才可!
  4. 使用 windows power shell 工具打开此目录,并运行目录下的 install.ps1 文件;

  5. 如果没有 windows power shell 的,可以使用 CMD 命令终端,如果使用 CMD 命令终端,则应运行 .\install.bat

    默认会将其他编译工具,如交叉编译工具链之类的安装到 C:\Users\用户.espressif 目录下,安装完成后提示如下

  6. 至此,windows环境下的esp32 idf环境已经搭建完成啦,接下来就让我们测试一下吧!
    (注意刚刚打开的那个 windows power shell 终端别关闭了,还要测试呢!)


3. 环境测试


  1. 如果终端不小心关闭了,那就重新打开 powershell 进入 esp-idf 目录下,运行./export.ps1 命令,导入esp32 idf的环境变量,注意如果是 cmd 终端,则运行 ./export.bat ,这两个不通用!

  2. 进入例程文件夹目录下,选择一个例程,编译试一试,这里我们进入esp-idf/example/get-started/hello_world 工程路径下测试

  3. 编译成功会提示 运行 idf.py -p (PORT) flash命令进行下载

  4. 将esp32下载串口连接到电脑,查看对应的COM口,按下win + x 之后按M打开设备管理器,查看对应的COM口

  5. 继续在 windows power shell 内输入 idf.py -p COM3 flash monitor 命令进行下载和监控(注意修改com口为对应自己电脑上的COM口)

  6. 如果只需要下载,可单独运行 idf.py -p COM3 flash (注意修改com口为对应自己电脑上的COM口)

  7. 如果只需要监控,可单独运行 idf.py -p COM3 monitor(注意修改com口为对应自己电脑上的COM口)

  8. 注意,我们此处使用的是ESP32 Node开发板,板子上自带了自动下载电路,所以下载不需要按键,下载完之后也可以由程序自动复位运行;如果你的电脑没有自动下载电路,需要拉低 boot 之后复位esp32进入下载模式,下载完成之后,需要拉高boot之后复位esp32运行程序!

  9. 退出监控模式,可按下键盘的 ctrl + ] 退出


4. 配置脚本快捷设置环境变量


刚刚体验过之后,你有没有发现,每次打开 powershell 都需要进入到esp-idf的安装目录下去运行 ./export.ps1 指令(cmd终端软件对 ./export.bat 命令),这是一个非常难受的事情,那有没有办法快速做到这一步呢?那是当然,毕竟大家都是程序员,程序员的最终奥义就是通过程序来提高生活的品质和效率的!


我们通过将执行 esp-idf 内的export.ps1 设置成powershell内的一个变量,之后再每次powershell打开的时候自动执行不就可以了吗!接下来我们看下如何实现:


  1. powershell启动之后会自动调用环境变量$PROFILE下的脚本文件,我们需要先找到此文件的位置,在powershell内键入$PROFILE 命令,即可找到对应的目录位置

  2. 找到对应的文件夹,打开文件,如果没有此文件可在对应目录下新建此文件Microsoft.PowerShell_profile.ps1,注意文件命名需要一致

  3. 使用记事本打开此文件,输入以下内容:New-Alias -Name get_idf -Value E:\esp-idf\esp-idf\export.ps1,此内容的函数是给powershell定义一个变量get_idf,变量的值为E:\esp-idf\esp-idf\export.bat

  4. 之后使用管理员模式打开powershell,重新打开powershell会提示 无法加载文件 E:\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,因为在此系统上禁止运行脚本。有关详细 信息 这是由于你的电脑默认禁止运行脚本,以防止恶意脚本攻击,我们把它关掉就好了(后续自己用电脑的时候注意,少访问不良网站应该基本上不会被攻击)

  5. 输入get-ExecutionPolicy 查看安全机制,应该是 Restricted

  6. 输入 set-ExecutionPolicy RemoteSigned 命令,修改它为RemoteSigned,选择 y 同意(如果不能修改,请检查是否以管理员身份运行)

  7. 接下来,可以从任意文件夹下,打开powershell,之后输入 get_idf 即可自动调用 esp-idf 目录下的脚本文件了!


5. 如何搭建自己的esp32工程并开始开发


此部分内容在我的另外一篇博客内有详细描述,此处就不重复编写,请大家参见:


(点击跳转)ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门(点击跳转)


注意链接博客是针对esp32 linux环境下搭建的,但是创建工程、配置工程部分内容一样适用于windows。


6. 如何使用vscode开发


我默认你已经学会了第五章中的工程配置,现在我们开始使用vscode进行开发


  1. 复制example里面的hello_world工程到自己的目录下,并使用vscode打开工程,注意打开路径!
  2. ctrl + shift + ~ 打开终端,可以看到,如果你装了 windows power shell 默认会打开powershell的终端,如果你没装,默认是打开的 CMD 终端
  3. 由于 powershell 启动的时候默认调用了我们第四章描述的脚本文件,因此我可以直接输入get_idf 配置环境,如此简单!

7. 国内源导致clone失败解决


克隆过程中可能会由于国内源限制,导致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 开干把,遇到问题欢迎在评论区分享!




创作不易,转载请注明出处!