使用Clion与ESP-IDF共同构建项目

发布于 16 天前  31 次阅读


Pio虽好,可不要贪杯哦~

其实写这篇文章的原因是因为Platformio无法自动生成ESP-IDF的Clion项目,原因是ESP-IDF在4.x之后改用Cmake构建项目,而Clion也是采用Cmake构建项目,所以二者会出现冲突,Pio没有办法为Clion生成可用的ESP-IDF项目。

这可不行,我已经熟悉Clion给我的编译提示,这时候让我转VSC写嵌入式项目,无异于鲨了我,所以经过半天的努力,在各路搜索引擎的支持下,最后找到了解决方法,在Windwos下也可以用Clion写ESP-IDF项目了。我会将参考资料列在下方,之后则是配置过程。

Clion ESP-IDF

DevLog #1 - Get started with ESP-IDF on CLion IDE | Set up CLion ESP-IDF

上述三篇内容,本文引用最多的是第一篇,第二第三篇比较适合在Linux系统中使用

我选择了一个Windows虚拟机作为配置样例,主要是因为近期我也要再配置一遍这个过程,为了防止我自己出现遗忘的情况,所以选择一台完全新的机器进行配置

首先是比较熟悉的Git、Clion、mingw套件、Python等,这里不再赘述

正式开始之后我们需要先把ESP-IDF从Github上拖下来,因为我有准备使用ESP-32 C3的计划,所以选择了ESP-IDF 4.3,这个版本之后才开始支持C3

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

接着就是安装,安装完成之后设置环境变量,将你的从Github上拖下来的esp-idf设置为IDF_PATH,设置你的系统python为IDF_PYTHON_ENV_PATH。

再加入ESP-IDF安装的编译器以及ninja进入PATH,例如我的编译器路径是

C:\Users\yourUserName\.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin
C:\Users\yourUserName\.espressif\tools\ninja\1.10.2\ninja.exe

接着我们要使用这个python安装一遍IDF需要的python库(因为我不知道Clion怎么选择Python Virtual Environment)

这个requirement.txt在idf目录下(这里记得要新开一个终端,因为之前如果用过export的话,这里不会安装新的python库)

 pip install -r .\requirements.txt

接着进入Clion修改一下Terminal设置,这样就可以在Clion的Terminal里使用idf.py了

C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -File "C:\Users\cch98\Desktop\ESP-IDF\esp-idf-v4.3\export.ps1"

还有在CMake环境里加上你用的python环境,不然可能会选中mingw里的python

然后重启,让系统变量生效

这样就让Clion链接上IDF编译器,也可以出现提示了,之后需要刷入内容的话,只要在Terminal里输入idf flash就可以了


今天你摸鱼了吗?