ESP32 Eclipse开发环境搭建

时间:2024-03-31 21:54:44

1. 设置工具链

Windows 没有内置的 “make” 环境,因此如果要安装工具链,你需要一个 GNU 兼容环境。我们这里使用 MSYS2 来提供该环境。你不需要一直使用这个环境(你可以使用 Eclipse 或其它前端工具),但是它是在后台运行的。

1.1 工具链的设置

快速设置的方法是从 dl.espressif.com 下载集成在一起的工具链和 MSYS2 压缩文件:

下载地址:https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip

将 zip 压缩文件解压到 C:\ (或其它路径,这里假设是 C:),它会使用预先准备的环境创建一个 msys32 目录。

1.2 更新环境

当 IDF 更新时,有时需要新的工具链,或者将新的需求添加到 Windows MSYS2 环境中。要将旧版本的预编译环境中的数据移动到新版本:

  • 把旧的 MSYS2 环境(即 C:\msys32)移动/重命名为不同的目录(即 C:\msys32_old)。
  • 按照前文所述步骤下载新的预编译环境。
  • 将新的 MSYS2 环境解压缩到 C:\msys32 (或其他位置)。
  • 找到旧的 C:\msys32_old\home 目录并把它移到 C:\msys32。
  • 如果你不再需要 C:\msys32_old 可以将它删除。

你可以在系统上拥有独立的不同的 MSYS2 环境,前提是在不同的目录中。

或者,你也可以更新现有的环境而不是下载新环境,但是这样更复杂。

2. 安装Python

建议安装版本为2.7

3. 获取 ESP-IDF

工具链(包括用于编译和构建应用程序的程序)安装完后,你还需要 ESP32 相关的 API/库。API/库在 ESP-IDF 仓库 中。要获取这些 API/库,打开一个终端,进入某个你希望存放 ESP-IDF 的目录,然后 git clone 以下指令:

cd ~/esp

git clone --recursive https://github.com/espressif/esp-idf.git

ESP-IDF 将会被下载到 ~/esp/esp-idf。

或者从

https://github.com/espressif/esp-idf/releases

页面中下载ESP-IDF

更新ESP-IDF

ESP32 Eclipse开发环境搭建

要更新到最新的ESP-IDF稳定版本(建议用于生产用途),请遵循以下流程:

  • 定期检查“Releases页面”页面以获取新版本。

  • 当您正在使用的版本的bugfix版本Releases时(例如,如果使用v3.0.1并且v3.0.2可用),请将新的bugfix版本导入到现有的ESP-IDF目录中:

cd $IDF_PATH

git fetch

git checkout vX.Y.Z

git submodule update --init --recursive

发布主要或次要更新时,请检查版本页面上的发行说明,并确定是要更新还是保留现有版本(通过上面显示的相同Git命令进行更新)。

如果您通过zip文件安装稳定版本而不是使用git,则可能无法以这种方式更改版本。在这种情况下,通过下载新的zip文件并替换整个目录来进行更新。

在用户配置文件中添加 IDF_PATH

为了在系统多次重新启动时保留 “IDF_PATH” 环境变量的设置,请按照以下说明将其添加到用户配置文件中。

用户配置文件脚本存放在 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 路径中将反斜杠替换为正斜杠。

  1. 保存脚本。
  2. 关闭 MSYS2 窗口并再次打开。输入以下命令检查是否设置了 IDF_PATH:

printenv IDF_PATH

将此前在脚本文件中输入的路径打印出来。

如果您不想在用户配置文件中永久设置 IDF_PATH,则应在打开 MSYS2 窗口时手动输入:

export IDF_PATH=“C:/msys32/home/user-name/esp/esp-idf”

4. 安装和配置Eclipse

现在可以开始创建 ESP32 应用程序了。

为了快速开始,我们这里以 IDF 的 examples 目录下的 get-started/hello_world 工程为例进行说明。

将 get-started/hello_world 拷贝到 ~/esp 目录:

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

ESP-IDF 的 examples 目录下有一系列示例工程,都可以按照上面的方法进行创建(重要:esp-idf 构建系统不支持在路径中存在空格)。

在终端窗口中,输入

cd ~/esp/hello_world

进入 hello_world 所在目录,然后启动工程配置工具 menuconfig:

cd ~/esp/hello_world

make menuconfig

如果之前的步骤都正确,则会显示下面的菜单:

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

  • 新项目将出现在 “Project Explorer” 下。请右键选择该项目,并在菜单中选择 “Properties”。

  • 点击 “C/C++ Build” ,取消Use default build command选项,并在Build command中写入

python ${IDF_PATH}/tools/windows/eclipse_make.py

ESP32 Eclipse开发环境搭建

  • 点击 “C/C++ Build” 下的 “Environment” 属性页,选择 “Add…”,并在对应位置输入BATCH_BUILD1

  • 再次点击 “Add…”,并在IDF_PATH中输入ESP-IDF所在的完整安装路径。

  • 选择 “PATH” 环境变量,不要改变默认值。如果 Xtensa 工具链的路径尚不在 “PATH” 列表中,则应将该路径 (something/xtensa-esp32-elf/bin)增加至列表。

例:

C:\msys32\usr\bin;C:\msys32\mingw32\bin;C:\msys32\opt\xtensa-esp32-elf\bin;

ESP32 Eclipse开发环境搭建

  • 前往 “C/C++ General” -> “Preprocessor Include Paths” 属性页面。
    • 点击Providers选项卡。
      • ESP32 Eclipse开发环境搭建
      • Providers列表中选择CDT Cross GCC Built-in Compiler Settings,将Command to get compiler specs修改为xtensa-esp32-elf-gcc ${FLAGS} -E -P -v -dD "${INPUTS}ESP32 Eclipse开发环境搭建
      • Providers列表中选择CDT GCC Build Output Parser,将Compiler command pattern修改为xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)
        ESP32 Eclipse开发环境搭建
      • 前往C/C++ General -> Indexer 属性页面。去除 Allow heuristic resolution of includes 勾选。启用此选项时,Eclipse 有时无法找到正确的头文件目录。
      • 点击C/C++ General->Indexer属性页。
      • 选择Enable project specific settings以启用本页上的其他设置。

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

ESP32 Eclipse开发环境搭建

环境设置好后,就可以开始开发应用程序了。整个过程可以概括为如下四步:

  1. 配置工程并编写代码
  2. 编译工程并链接成一个 应用程序
  3. 烧写应用程序到ESP32
  4. 监视/调试 应用程序

参考资料