Clion開發(fā)ESP32-S2 環(huán)境搭建
上篇專欄介紹并提供了ESP-IDF 4.3環(huán)境搭建教程和材料
由于官方文檔中已經(jīng)介紹了VS和Eclipse作為IDE開發(fā)espidf的教程,本文就主要介紹如何以Clion作為開發(fā)工具來(lái)把玩ESP32系列芯片。首先懶人包發(fā)一發(fā):
鏈接:https://pan.baidu.com/s/1pK2jzQlZlhTvwUv_GF3Jgw?
提取碼:ALYA
CLion-ESP32開發(fā)懶人包 內(nèi)含:
Clion 2021破解版
ESP32 工程模板
解壓后你將得到如下文件:

首先介紹如何安裝破解最新版的Clion
Clion 2021 安裝
1.打開"CLion2021破解版"文件夾:

2.運(yùn)行 "CLion-2021.3.exe" 以安裝Clion 2021



安裝完成后會(huì)提示你重啟電腦,重啟就完事了
3.運(yùn)行?"Clion-2021"并破解

點(diǎn)擊Activation code 輸入激活碼破解

激活碼在txt里面,直接復(fù)制,如果激活碼無(wú)效,可以在txt中的網(wǎng)址中獲取最新的激活碼

復(fù)制到文本框里,如果激活碼可用就是綠色的,然后點(diǎn)擊Activate激活

激活成功將看到此界面,然后點(diǎn)Close

新建工程以驗(yàn)證Clion是否破解成功

新建工程成功后不需要做任何配置,比如Mingw編譯器也不用配置,現(xiàn)在最新版Clion會(huì)自動(dòng)檢測(cè)幫你完成編譯器下載和配置,等待其構(gòu)建完成即可。
構(gòu)建完成后,跑個(gè)Hello World試試看

點(diǎn)擊Help->About可以查看你Clion的授權(quán)時(shí)長(zhǎng),可以看到已經(jīng)激活到了公元5000年12月31日,直接給你激活到人類滅亡。

Clion?ESP32環(huán)境配置
1.打開esp-idf安裝目錄并復(fù)制此路徑:

打開cmd并cd此路徑(右鍵粘貼)

輸入?export.bat

2.輸入echo %PATH%復(fù)制如下路徑
緊接著輸入 echo %PATH%

復(fù)制如下路徑,到時(shí)候要配置到系統(tǒng)環(huán)境變量中 (右鍵復(fù)制)

3.在系統(tǒng)變量中選中Path行并編輯

點(diǎn)擊編輯文本

注意這里操作有些許細(xì)節(jié),仔細(xì)觀看
(1) 把光標(biāo)移動(dòng)到文本末尾位置

(2) 輸入一個(gè) " ; " 作為分隔符 (分號(hào))

(3) 把剛才復(fù)制的路徑粘貼到分后后面

點(diǎn)擊確定,可以看到添加了很多新行

(4) (重點(diǎn)操作) 把Python310這行移動(dòng)到最后一行(十分重要)
點(diǎn)擊下移按鈕移動(dòng)到最后一行

將Python310移動(dòng)到最后一行

原因簡(jiǎn)單解釋一下,esp-idf在構(gòu)建項(xiàng)目時(shí)會(huì)根據(jù)所需的工具去尋找系統(tǒng)環(huán)境變量配置的路徑,當(dāng)然是順序查詢的,所以會(huì)存在先后關(guān)系,比如idf文件夾中自帶的python環(huán)境和之前你安裝的Python310,如果Python310在前面,那么idf就會(huì)選此路徑作為python環(huán)境構(gòu)建,結(jié)果當(dāng)然會(huì)構(gòu)建失敗,所以得把Python310移動(dòng)到idf自帶的py下面,這樣一來(lái)既能讓idf獲取到正確的構(gòu)建環(huán)境又能保證不影響你之前搭建的Python環(huán)境。
4.再次復(fù)制esp-idf安裝路徑

5.在系統(tǒng)變量中新建系統(tǒng)變量
新建 IDF_PATH 系統(tǒng)變量
值為 你剛才復(fù)制的路徑
點(diǎn)擊確定

如下圖所示

6.重啟電腦
配置完上面一系列的系統(tǒng)變量后需要重啟電腦

重啟后,打開懶人包中的ESP32工程文件,并用Clion打開sample_project項(xiàng)目

用CMake project 打開

點(diǎn)擊Trust Project

打開后Clion會(huì)開始加載Cmake,等待完成后你就可以Build了,右上角的錘子會(huì)變綠

7. 點(diǎn)擊右上角錘子構(gòu)建項(xiàng)目 (2022/2/26日更新 串口監(jiān)視器配置)
點(diǎn)錘子構(gòu)建,注意不要點(diǎn)小三角,那是運(yùn)行按鈕,需要配置一個(gè)可執(zhí)行文件,因?yàn)榇隧?xiàng)目生成的elf(Executable and Linkable file 用于生成bin文件)在Windows無(wú)法運(yùn)行,所以跑不起來(lái),會(huì)報(bào)一個(gè)elf無(wú)法運(yùn)行的錯(cuò)誤。不過(guò)你可以發(fā)揮你的聰明才智,將此可執(zhí)行文件選為串口調(diào)試工具,那么以后你每次運(yùn)行完畢都會(huì)自動(dòng)打開串口調(diào)試工具。當(dāng)然esp-idf也提供了串口監(jiān)視器命令,你只需自己配置一個(gè)bat文件,用于在CLion的命令行中運(yùn)行串口監(jiān)視器,就像這樣:
注意,如果你不想在CLion中配置串口監(jiān)視器就可以跳過(guò)了,直接跳到分隔符之后
<--------------------------------------------------我是起始符------------------------------------------------>

然后將run configuration中的executable選為你這個(gè)bat文件


至于為什么要選到flash項(xiàng),因?yàn)榇诒O(jiān)視器只有在程序燒進(jìn)去之后運(yùn)行才有意義,你想配置app項(xiàng)或者其他項(xiàng)目,原理是一樣的。
注意要更改下Cmake的輸出路徑,因?yàn)閕df.py monitor會(huì)去尋找..\build路徑下的elf文件,若找不到就會(huì)報(bào)elf not found的錯(cuò)誤。
Clion中進(jìn)入File->Settings->Build,Execution,Deployment->CMake

配置完后,點(diǎn)擊綠色小三角運(yùn)行,除了構(gòu)建之外,Clion會(huì)執(zhí)行你剛才創(chuàng)建的bat文件,如下:

由于手頭沒(méi)有板子,所以只能演示個(gè)無(wú)法連接到串口了。
連接著板子的話,此程序會(huì)主動(dòng)連接對(duì)應(yīng)串口,并打印串口消息。(我感覺沒(méi)什么用,還不如另外跑一個(gè)sscom來(lái)的爽)
<--------------------------------------------------我是結(jié)束符------------------------------------------------>
第一次構(gòu)建需要幾分鐘,900多個(gè)文件需要編譯鏈接,后續(xù)就只需要編譯自己寫的c/c++文件了。不過(guò)后續(xù)如果你對(duì)構(gòu)建配置做了任何修改,都需要重新構(gòu)建,再編譯一次900多個(gè)文件。

下面介紹一下esp32工程的幾個(gè)構(gòu)建選項(xiàng)

下面我將分別演示app,flash和menuconfig選項(xiàng)
(1) app選項(xiàng)
選擇app并點(diǎn)擊錘子構(gòu)建

可以看到app選項(xiàng)下生成了main.bin文件 ,?可以將此文件下載到ESP32上

(2) flash選項(xiàng)
1.先連接上esp32板子,我演示采用esp-12k開發(fā)板(內(nèi)部芯片esp32-s2)
2.打開設(shè)備管理器或者串口工具查詢開發(fā)板端口號(hào),我是COM4

3.Clion中進(jìn)入File->Settings->Build,Execution,Deployment->CMake

4.在Environment中輸入:??
ESPBAUD=460800;ESPPORT=COM4;IDF_TARGET=esp32s2
意味著下載波特率為460800,端口號(hào)為COM4,芯片型號(hào)為esp32s2

輸入完成后,點(diǎn)apply再點(diǎn)OK退出

然后Cmake構(gòu)建報(bào)了個(gè)cache does not match的錯(cuò)誤

點(diǎn)擊Tools->CMake->Reset Cache and Reload Project

好了,不報(bào)錯(cuò)了

5.寫一個(gè)Hello World,燒到板子里可以看到效果

6.選擇flash并點(diǎn)擊錘子構(gòu)建

由于剛才修改了構(gòu)建配置,所以又得重新把那900個(gè)文件編譯一遍了,慢慢等吧

OK,下載成功,打開串口監(jiān)視器看看效果

注意esp32串口波特率默認(rèn)為115200,看到不斷輸出 Hello World!

總結(jié)一下flash選項(xiàng)的要點(diǎn):
1.根據(jù)你對(duì)應(yīng)的芯片配置IDF_TARGET變量
2.根據(jù)你的端口號(hào)配置ESPPORT變量
3.然后再點(diǎn)錘子構(gòu)建
(3) menuconfig選項(xiàng)
此選項(xiàng)用于配置ESP32芯片的一些核心參數(shù),包括主頻,晶振頻率,分區(qū)表,下載相關(guān)參數(shù),本文僅介紹如何打開esp32配置面板
1.用cmd打開你的項(xiàng)目目錄

輸入 idf.py menuconfig

等待一會(huì)后就進(jìn)入了esp32配置面板,具體使用參考官方文檔,一般情況下使用不到,若下載失敗或下載成功后芯片串口報(bào)錯(cuò),很可能是app太大了,請(qǐng)注意在此修改下flash size

總結(jié)下,系統(tǒng)環(huán)境變量配置那一部分請(qǐng)嚴(yán)格按照教程走,配置無(wú)誤的話,用Clion打開工程將不會(huì)有任何報(bào)錯(cuò),可以直接構(gòu)建。此教程中的所有配置和圖片均在一臺(tái)未安裝任何環(huán)境的電腦中演示并截取。若按照此文配置出現(xiàn)差錯(cuò),直接評(píng)論私信我,立刻解決并更新文中錯(cuò)誤。
最后,放一個(gè)esp32經(jīng)典入門程序:
很簡(jiǎn)單的程序,演示了如何用esp32打開一個(gè)熱點(diǎn)并簡(jiǎn)要演示了esp32 wifi開發(fā)流程

WiFi列表中發(fā)現(xiàn)ESP32的熱點(diǎn)了,看看連進(jìn)去能不能通過(guò)DHCPS分配到IP地址

輸入密碼測(cè)試連接

連接測(cè)試成功

只要嚴(yán)格按照教程配置,絕對(duì)能一遍通,至于為什么推薦Clion開發(fā),因?yàn)槲襍tm32也在Clion開發(fā),同樣也發(fā)布了教程,剛好湊一個(gè)系列。最主要還是多個(gè)芯片集成在一個(gè)IDE中開發(fā)比較爽。