ESP32 Eclipse开发环境构建与问题总结
搞了一个多星期的eclipse环境构建,终于成功了,在此记录下期间遇到的问题。
以下为遇到的几点问题的解决方法:
1、使用的版本为V3.1版本,版本时间为2018年09月07日,可以直接在以下路径下载(下载路径的版本之后肯定会升级,不一定是V3.1了)
https://www.espressif.com/zh-hans/support/download/sdks-demos?keys=&field_type_tid%5B%5D=13
2、安装的说明文档还是依照官方提供的安装步骤进行的,网址如下:
https://docs.espressif.com/projects/esp-idf/zh_CN/stable/get-started/index.html
3、安装过程中需要git IDF可以不用GIT,直接用第一步下载的V3.1版本的包解压到指定目录即可
也就是文档中提到的 git clone 这一步可以不用做,直接把下载下来的IDF解压到esp当中
4、需要设置下IDF的路径,方法如下(官方文档中有):
Windows
用户配置文件脚本存放在 C:/msys32/etc/profile.d/
目录中。每次打开 MSYS2 窗口时,系统都执行这些脚本。
-
在
C:/msys32/etc/profile.d/
目录下创建一个新的脚本文件。将其命名为export_idf_path.sh
。 -
确定 ESP-IDF 目录的路径。路径与系统配置有关,例如
C:\msys32\home\user-name\esp\esp-idf
。 -
在脚本中加入
export
命令,e.g.:export IDF_PATH="C:/msys32/home/user-name/esp/esp-idf"
-
请将原始 Windows 路径中将反斜杠替换为正斜杠。
-
保存脚本。
-
关闭 MSYS2 窗口并再次打开。输入以下命令检查是否设置了
IDF_PATH
:printenv IDF_PATH
-
将此前在脚本文件中输入的路径打印出来。
如果您不想在用户配置文件中永久设置 IDF_PATH
,则应在打开 MSYS2 窗口时手动输入:
export IDF_PATH="C:/msys32/home/user-name/esp/esp-idf"
如您在安装用于 ESP32 开发的软件时,从 设置 ESP-IDF 路径 小节跳转到了这里,请返回到 创建一个工程 小节。
5、在Eclipse当中的设置也按照文档中的说明进行设置,大致需要设置以下几点:
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started/eclipse-setup.html
项目属性
-
-
新项目将出现在 “Project Explorer” 下。请右键选择该项目,并在菜单中选择 “Properties”。
-
点击 “C/C++ Build” 下的 “Environment” 属性页,选择 “Add…”,并在对应位置输入
BATCH_BUILD
和1
。 -
再次点击 “Add…”,并在 “IDF_PATH” 中输入 ESP-IDF 所在的完整安装路径。
-
选择 “PATH” 环境变量,不要改变默认值。如果 Xtensa 工具链的路径尚不在 “PATH” 列表中,则应将该路径 (
something/xtensa-esp32-elf/bin
) 增加至列表。 -
在 macOS 平台上,增加一个 “PYTHONPATH” 环境变量,并将其设置为
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
, 保证系统中预先安装的 Python (需安装 pyserial 模块)可以覆盖 Eclipse 内置的任何 Python。 -
前往 “C/C++ General” -> “Preprocessor Include Paths” 属性页面。
-
点击 “Providers” 选项卡。
- 从 “Providers” 列表中选择 “CDT Cross GCC Built-in Compiler Settings”,将 “Command to get compiler specs” 修改为
xtensa-esp32-elf-gcc ${FLAGS} -std=c++11 -E -P -v -dD "${INPUTS}"
- 从 “Providers” 列表中选择 “CDT GCC Build Output Parser”,将 “Compiler command pattern” 修改为
xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)
- 从 “Providers” 列表中选择 “CDT Cross GCC Built-in Compiler Settings”,将 “Command to get compiler specs” 修改为
-
-
前往 “C/C++ General” -> “Indexer” 属性页面。
- 去除 “Allow heuristic resolution of includes” 勾选。启用此选项时,Eclipse 有时无法找到正确的头文件目录。
-
点击 “C/C++ General” -> “Indexer” 属性页。
- 选择 “Enable project specific settings” 以启用本页上的其他设置。
注解
取消选中 “Allow heuristic resolution of includes”。因为启用此选项时,有时会导致 Eclipse 无法找到正确的头文件目录。
点击 “C/C++ Build” -> “Behavior” 属性页。
- 选中 “Enable parallel build” 以启用多任务并行构建。
6、在文档中提到了一条,更新python软件包,途中可能遇到错误提示,我并没有理会错误提示,后面的步骤也能操作成功,但若不成功的情况下,可能需要先解决
错误才能进行后续操作:
7、在Eclipse当中直接最后的make flash烧录命令前,需要先在mingw32.exe当中执行make menuconfig命令配置串口等数据,然后还要在mingw32.exe当中执行一遍make flash命令,
最后才能在eclipse当中进行操作执行make flash
8、关于IDF当中的例子,需要把例子复制到esp目录下(也就是与idf同级目录下)进行编译,否则可能会提示路径不对等错误
以上几点是在架设ESP32开发环境中遇到的几点问题,特记录下来以备后续查找用