Windows系统下Eclipse搭建ESP32编译环境
Posted 极客飓风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows系统下Eclipse搭建ESP32编译环境相关的知识,希望对你有一定的参考价值。
一、准备软件与环境
- esp32_win32_msys2_environment_and_toolchain-20181001
- esp-idf_3.3.1
- eclipse 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. 安装 Eclipse C/C++。
6. 将github等自己需要的项目解压到c:\\msys32\\home\\developer\\esp\\文件夹。
三、将项目导入Eclipse
- Eclipse 使用了 ESP-IDF 中的 Makefile 支持。这意味着您需要从创建 ESP-IDF 项目开始。您可以使用 github 中的 idf-template 项目,或者打开 esp-idf examples 子目录中的示例之一。
- Eclipse 运行后,选择 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/lib/python2.7/site-packages
. 这样一来,在安装步骤中安装了 pyserial 的系统 Python 会覆盖任何内置的 Eclipse Python。
附加说明:如果 IDF_PATH 目录或项目目录位于C:\\msys32\\home
目录外,则必须在 C/C++ 构建属性中提供自定义构建命令:(请注意,此方法可能会显着增加构建时间。)python ${IDF_PATH}/tools/windows/eclipse_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”属性页:
- 选中“启用项目特定设置”以启用此页面上的其余设置。
- 取消选中“允许包含的启发式解析”。启用此选项后,Eclipse 有时无法找到正确的头目录。
导航到“C/C++ Build”->“Behavior”属性页:
- 选中“启用并行构建”以并行启用多个构建作业。
四、make menuconfig
在Eclipse编译之前,需要首先使用C:\\msys32\\msys2.exe来构建项目结构,否则直接在Eclipse中编译会报错无法编译。
点击打开msys2,进入项目文件夹:
cd /home/developer/esp/project_esp32_v1
然后执行:
make menuconfig
等待项目构建,会进入界面:
这时需要配置烧录的串口号:选择Serial flasher config 进入之后查看自己ESP32所用的串口并且在此界面下更改:COM9,然后OK,退出配置界面。
五、返回Eclipse编译与烧录
上述步骤四构建成功后,关闭cmd命令行界面,返回eclipse软件:
编译成功后。准备烧录项目:
- 在 Project Explorer 中右键单击您的项目(重要的是确保您选择的是项目,而不是项目中的目录,否则 Eclipse 可能会找到错误的 Makefile。)
- 从上下文菜单中选择 Build Targets -> Create...。
- 输入“flash”作为目标名称。将其他选项保留为默认值。
- 现在您可以使用 Project -> Build Target -> Build (Shift+F9) 来构建自定义闪存目标,这将编译和闪存项目。
请注意,您需要使用“make menuconfig”来设置串行端口和其他用于闪烁的配置选项。“make menuconfig”仍然需要命令行终端(请参阅适用于您平台的说明。)
烧录成功!
有任何问题欢迎交流与联系,微信estorm22
开始制作基于ESP32的项目,go~
以上是关于Windows系统下Eclipse搭建ESP32编译环境的主要内容,如果未能解决你的问题,请参考以下文章
ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建
Windows & Esp32基于 libjpeg-9e 编解码库的视频播放器
Linux下搭建 ESP-IDF 开发环境,适合ESP32/ESP32S2/ESP32C3/ESP32S3系列模组二次开发