Windows系统下Eclipse搭建ESP32编译环境及安装过程

 更新时间:2021年10月18日 14:29:03   作者:极客飓风  
Ecppse 使用了 ESP-IDF 中的 Makefile 支持。这意味着您需要从创建 ESP-IDF 项目开始。您可以使用 github 中的 idf-template 项目,接下来通过本文给大家介绍Windows系统下Eclipse搭建ESP32编译环境及安装过程,感兴趣的朋友一起看看吧

一、准备软件与环境

  • esp32_win32_msys2_environment_and_toolchain-20181001
  • esp-idf_3.3.1
  • ecppse C/C++
  • python 3.8
  • git

二、安装过程

1. 首先安装python3.8 与git

下载好python3.8 与git的windows安装包一路默认安装即可;

2. esp32_win32_msys2_environment_and_toolchain-20181001解压

将esp32_win32_msys2_environment_and_toolchain-20181001解压至C盘中:

3. 将esp-idf_3.3.1解压至C:\msys32\home\developer\esp\esp-idf(需要自己创建该文件夹)目录中

4. 添加环境变量 IDF_PATH(ESP-IDF 的路径)与 python环境变量 至windows系统中。

此外,还需要进一步安装python依赖包:(C盘目录根据自己安装情况进行更改)

python -m pip install --user -r C:\msys32\home\developer\esp\esp-idf\requirements.txt

5. 安装 Ecppse C/C++。 6. 将github等自己需要的项目解压到c:\msys32\home\developer\esp\文件夹。

三、将项目导入Ecppse

  • Ecppse 使用了 ESP-IDF 中的 Makefile 支持。这意味着您需要从创建 ESP-IDF 项目开始。您可以使用 github 中的 idf-template 项目,或者打开 esp-idf examples 子目录中的示例之一。
  • Ecppse 运行后,选择 File -> Import...
  • 在弹出的对话框中,选择“C/C++”->“Existing Code as Makefile Project”,点击Next。
  • 在下一页上,输入“Existing Code Location”作为您的 IDF 项目的目录。不要指定 ESP-IDF 目录本身的路径(稍后提供)。您指定的目录应包含一个名为“Makefile”的文件(项目 Makefile)。
  • 在同一页面上,在“用于索引器设置的工具链”下选择“跨 GCC”。然后单击完成。

项目属性

  • 新项目将出现在 Project Explorer 下。右键单击项目并从上下文菜单中选择属性。
  • 单击“C/C++ Build”下的“Environment”属性页面。单击“添加...”并输入名称BATCH_BUILD和值1
  • 再次单击“添加...”,然后输入名称IDF_PATH。该值应该是安装 ESP-IDF 的完整路径。Windows 用户可以IDF_PATH从 Windows 资源管理器中复制。
  • 编辑PATH环境变量。保留当前值,并将路径附加到作为 IDF 设置的一部分安装的 Xtensa 工具链,如果这尚未在 PATH 中列出。工具链的典型路径如下所示/home/user-name/esp/xtensa-esp32-elf/bin。请注意,您需要:在附加路径之前添加一个冒号。Windows 用户需要预先C:\msys32\mingw32\bin;C:\msys32\opt\xtensa-esp32-elf\bin;C:\msys32\usr\bin添加PATH环境变量(如果您将 msys32 安装到不同的目录,那么您需要更改这些路径以匹配)。
  • 在 macOS 上,添加一个PYTHONPATH环境变量并将其设置为/Library/Frameworks/Python.framework/Versions/2.7/pb/python2.7/site-packages. 这样一来,在安装步骤中安装了 pyserial 的系统 Python 会覆盖任何内置的 Ecppse Python。

附加说明

如果 IDF_PATH 目录或项目目录位于C:\msys32\home目录外,则必须在 C/C++ 构建属性中提供自定义构建命令:(请注意,此方法可能会显着增加构建时间。)python ${IDF_PATH}/tools/windows/ecppse_make.py

导航到“C/C++ General”->“Preprocessor Include Paths”属性页:

  • 单击“提供商”选项卡
  • 在提供程序列表中,单击“CDT Cross GCC Built-in Compiler Settings”。将“获取编译器规范的命令”更改为.xtensa-esp32-elf-gcc ${FLAGS} -std=c++11 -E -P -v -dD "${INPUTS}"
  • 在提供程序列表中,单击“CDT GCC Build Output Parser”并将“Compiler command pattern”更改为 xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)

导航到“C/C++ General”->“Indexer”属性页:

  • 选中“启用项目特定设置”以启用此页面上的其余设置。
  • 取消选中“允许包含的启发式解析”。启用此选项后,Ecppse 有时无法找到正确的头目录。

导航到“C/C++ Build”->“Behavior”属性页:

  • 选中“启用并行构建”以并行启用多个构建作业。

四、make menuconfig

在Ecppse编译之前,需要首先使用C:\msys32\msys2.exe来构建项目结构,否则直接在Ecppse中编译会报错无法编译。

点击打开msys2,进入项目文件夹:

cd /home/developer/esp/project_esp32_v1

然后执行:

make menuconfig

等待项目构建,会进入界面:

这时需要配置烧录的串口号:选择Serial flasher config 进入之后查看自己ESP32所用的串口并且在此界面下更改:COM9,然后OK,退出配置界面。

五、返回Ecppse编译与烧录

上述步骤四构建成功后,关闭cmd命令行界面,返回ecppse软件:

编译成功后。准备烧录项目:

  • 在 Project Explorer 中右键单击您的项目(重要的是确保您选择的是项目,而不是项目中的目录,否则 Ecppse 可能会找到错误的 Makefile。)
  • 从上下文菜单中选择 Build Targets -> Create...。
  • 输入“flash”作为目标名称。将其他选项保留为默认值。
  • 现在您可以使用 Project -> Build Target -> Build (Shift+F9) 来构建自定义闪存目标,这将编译和闪存项目。

请注意,您需要使用“make menuconfig”来设置串行端口和其他用于闪烁的配置选项。“make menuconfig”仍然需要命令行终端(请参阅适用于您平台的说明。)

烧录成功!

到此这篇关于Windows系统下Eclipse搭建ESP32编译环境的文章就介绍到这了,更多相关Eclipse搭建ESP32编译环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot集成spark并使用spark-sql的示例详解

    springboot集成spark并使用spark-sql的示例详解

    这篇文章主要介绍了spring-boot集成spark并使用spark-sql的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • SpringBoot过滤器实现项目内接口过滤详解

    SpringBoot过滤器实现项目内接口过滤详解

    这篇文章主要为大家详细介绍了SpringBoot如何利用过滤器实现项目内接口过滤,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-04-04
  • Java中调用第三方接口的几种方法详细指南

    Java中调用第三方接口的几种方法详细指南

    在Java开发中调用第三方接口是常见需求,本文介绍如何使用Java进行接口调用,重点讲解HttpURLConnection类、OkHttp库和ApacheHttpClient的使用,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • java中List删除时需要的注意事项

    java中List删除时需要的注意事项

    最近在利用java中的LIST在删除时发现了一个错我,通过查找相关的资料终于解决了,觉着有必要分享处理给同样遇到这个问题的朋友参考,下面这篇文章主要介绍了java中List删除时需要的注意事项,需要的朋友可以一起来看看吧。
    2017-01-01
  • Java如何给Word文档添加多行文字水印

    Java如何给Word文档添加多行文字水印

    这篇文章主要介绍了Java如何给Word文档添加多行文字水印,文章图文讲解的很清晰,有对于这方面不太懂得同学可以学习下
    2021-02-02
  • 23种设计模式(22)java状态模式

    23种设计模式(22)java状态模式

    这篇文章主要为大家详细介绍了23种设计模式之java状态模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 寻找二叉树最远的叶子结点(实例讲解)

    寻找二叉树最远的叶子结点(实例讲解)

    下面小编就为大家分享一篇寻找二叉树最远的叶子结点的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Springboot内置Tomcat配置参数调优方式

    Springboot内置Tomcat配置参数调优方式

    这篇文章主要介绍了Springboot内置Tomcat配置参数调优方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 浅谈SpringBoot项目如何让前端开发提高效率(小技巧)

    浅谈SpringBoot项目如何让前端开发提高效率(小技巧)

    这篇文章主要介绍了浅谈SpringBoot项目如何让前端开发提高效率(小技巧),主要介绍了Swagger和Nginx提高效率的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Mockito mock Kotlin Object类方法报错解决方法

    Mockito mock Kotlin Object类方法报错解决方法

    这篇文章主要介绍了Mockito mock Kotlin Object类方法报错解决方法,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09

最新评论