CLion 2025.2 Help

ESP-IDF

ESP-IDFESP32 和 ESP32-S 系列 SoC 的官方开发框架。 本文是关于在 CLion 中使用 ESP-IDF 的入门指南。

某些步骤重复了 ESP-IDF 入门指南。 以下示例针对 macOS 的情况,Windows 特定的说明已相应标注。

准备环境

  1. 请确保您的系统上安装了最新版本的 Pythonpipgit

  2. 使用系统终端,为 ESP-IDF 创建一个目录并克隆官方 代码库

    mkdir -p ~/esp cd ~/esp git clone --recursive https://github.com/espressif/esp-idf.git

    ESP-IDF 将下载到 ~/esp/esp-idf

  3. 在同一个 shell 中,安装工具:

    cd esp-idf ./install.sh
  4. 在 Windows 上,请确保正确识别了 ESP-32 开发板的 USB 桥接器。 您可以在 设备管理器 中检查。

使用 CLion 的终端设置一个示例项目

  1. 在 CLion 中,转到主菜单中的 文件 | 打开 并选择 ~/esp/esp-idf 目录。

    此时,项目加载可能会因 当前目录 '../esp/esp-idf' 无法构建...错误而失败。

  2. 打开 CLion 的内置终端(视图|工具窗口|终端Alt+F12)。

  3. 通过运行 . $HOME/esp/esp-idf/export.sh 设置环境变量:

    设置 ESP-IDF 环境的结果
  4. 让我们从 hello_world 目录配置 examples/get-started 项目。 以下命令将 ESP32 芯片设置为目标,并运行 menuconfig配置工具:

    cd $IDF_PATH/examples/get-started/hello_world idf.py set-target esp32 idf.py menuconfig

    最后一条命令打开配置菜单。 由于我们使用的 hello_world 项目将以默认配置运行,您无需在此菜单中进行设置。

    配置菜单

    退出菜单并检查配置是否完成。

  5. 现在我们可以通过运行 idf.py build 来构建 hello_world

    构建结果

接下来,您可以在 CLion 中使用终端继续处理项目。 这将不需要额外的 CMake 配置。 或者,您可以设置 CMake,以便项目可以在没有命令行的情况下加载、构建和运行(见下文)。

在 CLion 中配置 ESP CMake 项目

打开 Hello-world 项目

  1. 在主菜单中,转到 文件 | 打开 并选择 esp/esp-idf/examples/get-started/hello_world 文件夹。

  2. 点击 作为项目打开信任源代码

    此时,项目加载可能会失败。

加载环境

使用工具链设置指定 ESP-IDF 环境脚本。

您将需要 ESP-IDF 安装中的一个或两个环境文件。 对于 Python 虚拟环境的情况,需要两个文件。

加载环境脚本(macOS 示例)

  1. 转到 设置 | 构建、执行、部署 | 工具链

  2. 点击 添加环境 旁边的 名称 字段,然后点击 从文件

  3. 导航到 esp/esp-idf 并选择 export.sh

    设置工具链环境脚本
  4. 保存工具链设置。

  5. 项目将自动重新加载。 如果出现错误,请从主菜单调用 工具 | CMake | 重置缓存并重新加载项目

使用自定义脚本加载环境(Windows 示例)

在 Windows 上,设置 ESP-IDF 环境需要两个文件。 为了自动化,您可以创建一个简单的脚本来同时加载这两个文件,并将其用作工具链环境文件。

  1. 在项目文件夹中创建一个脚本文件。 例如, espidf_source.bat .

  2. 自定义以下行并将其添加到您的脚本中:

    @call C:\Espressif\python_env\idf5.0_py3.8_env\Scripts\activate.bat @call C:\Espressif\frameworks\esp-idf-v5.0-2\export.bat
  3. 转到 设置 | 构建、执行、部署 | 工具链

  4. 点击 添加环境 旁边的 名称 字段,然后点击 从文件

  5. 选择新创建的文件。

  6. 保存工具链设置。

  7. 项目将自动重新加载。 如果出现错误,请从主菜单调用 工具 | CMake | 重置缓存并重新加载项目

构建项目

  1. CLion 将自动为所有检测到的 CMake 目标创建 运行/调试配置

    要构建项目,请在配置切换器中选择 应用程序 ,然后点击锤子图标或按 Ctrl + F9 运行 构建 来构建此配置。

  2. 此时,所有 CLion 的代码洞察功能都可用于您的 ESP 项目。 观看 在 Windows 上使用 CLion 开发 ESP32:代码洞察以获取一些示例。

在 CLion 中烧录并监控 ESP-32 芯片

  1. 在配置切换器中选择 烧录 ,然后点击锤子图标或按 Ctrl + F9 进行构建。

    在构建输出中,您可以检查芯片烧录的百分比指示器。

  2. 选择 监视 配置并构建它。 如果您收到串口无法打开的错误,请执行以下操作:

    1. 打开 设备管理器 并检查您的 ESP 设备使用的端口。

    2. 在 CMake 设置中的 环境 变量中添加一个变量: ESPPORT。 将值设置为端口,例如, COM3

    3. 项目重新加载后,再次构建 监视 配置。 ESP-32 芯片应按预期返回响应。

已知问题和限制

使用 CLion 旧版引擎时,在某些情况下, long 的大小可能被认为是 64 位,而对于 ESP-32 应为 32 位(CPP-23731)。 为了解决此问题,请转到 文件 | 设置 | 语言与框架 | C/C++ | Clangd 并将 --target=riscv32 添加到 clangd 诊断选项中。 使用 CLion Nova时,您不应遇到此类问题。

故障排除(Windows)

如果您在 Windows 上收到 Git executable not found 错误,请确保 Git 安装在 ESP-IDF 的 find_package(Git) 命令可发现的位置。

为了解决此问题,请添加 GIT 环境变量,并将其值设置为 git.exe 二进制文件的完整路径。 您可以通过修改 esp/idf/tools/cmake/git_submodules.cmake 来完成此操作。 在第一行,将 find_package(Git) 更改为以下内容:

if (DEFINED ENV{GIT}) execute_process(COMMAND $ENV{GIT} --version OUTPUT_VARIABLE git_version ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if (git_version MATCHES "^git version [0-9]") string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}") set(GIT_FOUND True) set(GIT_EXECUTABLE $ENV{GIT}) endif() unset(git_version) else() find_package(Git) endif ()
最后修改日期: 2025年 9月 26日