ESP-IDF
ESP-IDF 是 ESP32 和 ESP32-S 系列 SoC 的官方开发框架。 本文是关于在 CLion 中使用 ESP-IDF 的入门指南。
某些步骤重复了 ESP-IDF 入门指南。 以下示例针对 macOS 的情况,Windows 特定的说明已相应标注。
准备环境
使用 CLion 的终端设置一个示例项目
在 CLion 中,转到主菜单中的 并选择 ~/esp/esp-idf 目录。
此时,项目加载可能会因 当前目录 '../esp/esp-idf' 无法构建...错误而失败。
打开 CLion 的内置终端( 或 Alt+F12)。
通过运行
. $HOME/esp/esp-idf/export.sh设置环境变量:
让我们从 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 项目将以默认配置运行,您无需在此菜单中进行设置。

退出菜单并检查配置是否完成。
现在我们可以通过运行
idf.py build来构建 hello_world。
接下来,您可以在 CLion 中使用终端继续处理项目。 这将不需要额外的 CMake 配置。 或者,您可以设置 CMake,以便项目可以在没有命令行的情况下加载、构建和运行(见下文)。
在 CLion 中配置 ESP CMake 项目
打开 Hello-world 项目
在主菜单中,转到 并选择 esp/esp-idf/examples/get-started/hello_world 文件夹。
点击 作为项目打开 并 信任源代码。
此时,项目加载可能会失败。
加载环境
使用工具链设置指定 ESP-IDF 环境脚本。
您将需要 ESP-IDF 安装中的一个或两个环境文件。 对于 Python 虚拟环境的情况,需要两个文件。
加载环境脚本(macOS 示例)
转到 。
点击 添加环境 旁边的 名称 字段,然后点击 从文件。
导航到 esp/esp-idf 并选择 export.sh :

保存工具链设置。
项目将自动重新加载。 如果出现错误,请从主菜单调用 。
使用自定义脚本加载环境(Windows 示例)
在 Windows 上,设置 ESP-IDF 环境需要两个文件。 为了自动化,您可以创建一个简单的脚本来同时加载这两个文件,并将其用作工具链环境文件。
在项目文件夹中创建一个脚本文件。 例如, espidf_source.bat .
自定义以下行并将其添加到您的脚本中:
@call C:\Espressif\python_env\idf5.0_py3.8_env\Scripts\activate.bat @call C:\Espressif\frameworks\esp-idf-v5.0-2\export.bat转到 。
点击 添加环境 旁边的 名称 字段,然后点击 从文件。
选择新创建的文件。
保存工具链设置。
项目将自动重新加载。 如果出现错误,请从主菜单调用 。
构建项目
CLion 将自动为所有检测到的 CMake 目标创建 运行/调试配置。
要构建项目,请在配置切换器中选择 应用程序 ,然后点击锤子图标或按 Ctrl + F9 运行 构建 来构建此配置。
此时,所有 CLion 的代码洞察功能都可用于您的 ESP 项目。 观看 在 Windows 上使用 CLion 开发 ESP32:代码洞察以获取一些示例。
在 CLion 中烧录并监控 ESP-32 芯片
在配置切换器中选择 烧录 ,然后点击锤子图标或按 Ctrl + F9 进行构建。
在构建输出中,您可以检查芯片烧录的百分比指示器。
选择 监视 配置并构建它。 如果您收到串口无法打开的错误,请执行以下操作:
打开 设备管理器 并检查您的 ESP 设备使用的端口。
在 CMake 设置中的 环境 变量中添加一个变量:
ESPPORT。 将值设置为端口,例如,COM3。项目重新加载后,再次构建 监视 配置。 ESP-32 芯片应按预期返回响应。
已知问题和限制
使用 CLion 旧版引擎时,在某些情况下, long 的大小可能被认为是 64 位,而对于 ESP-32 应为 32 位(CPP-23731)。 为了解决此问题,请转到 并将 --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) 更改为以下内容: