Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程
一、準(zhǔn)備軟件與環(huán)境
- esp32_win32_msys2_environment_and_toolchain-20181001
- esp-idf_3.3.1
- ecppse C/C++
- python 3.8
- git
二、安裝過(guò)程
1. 首先安裝python3.8 與git
下載好python3.8 與git的windows安裝包一路默認(rèn)安裝即可;
2. esp32_win32_msys2_environment_and_toolchain-20181001解壓
將esp32_win32_msys2_environment_and_toolchain-20181001解壓至C盤(pán)中:

3. 將esp-idf_3.3.1解壓至C:\msys32\home\developer\esp\esp-idf(需要自己創(chuàng)建該文件夾)目錄中

4. 添加環(huán)境變量 IDF_PATH(ESP-IDF 的路徑)與 python環(huán)境變量 至windows系統(tǒng)中。
此外,還需要進(jìn)一步安裝python依賴(lài)包:(C盤(pán)目錄根據(jù)自己安裝情況進(jìn)行更改)
python -m pip install --user -r C:\msys32\home\developer\esp\esp-idf\requirements.txt

5. 安裝 Ecppse C/C++。 6. 將github等自己需要的項(xiàng)目解壓到c:\msys32\home\developer\esp\文件夾。
三、將項(xiàng)目導(dǎo)入Ecppse
- Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項(xiàng)目開(kāi)始。您可以使用 github 中的 idf-template 項(xiàng)目,或者打開(kāi) esp-idf examples 子目錄中的示例之一。
- Ecppse 運(yùn)行后,選擇 File -> Import...
- 在彈出的對(duì)話框中,選擇“C/C++”->“Existing Code as Makefile Project”,點(diǎn)擊Next。
- 在下一頁(yè)上,輸入“Existing Code Location”作為您的 IDF 項(xiàng)目的目錄。不要指定 ESP-IDF 目錄本身的路徑(稍后提供)。您指定的目錄應(yīng)包含一個(gè)名為“Makefile”的文件(項(xiàng)目 Makefile)。
- 在同一頁(yè)面上,在“用于索引器設(shè)置的工具鏈”下選擇“跨 GCC”。然后單擊完成。
項(xiàng)目屬性
- 新項(xiàng)目將出現(xiàn)在 Project Explorer 下。右鍵單擊項(xiàng)目并從上下文菜單中選擇屬性。
- 單擊“C/C++ Build”下的“Environment”屬性頁(yè)面。單擊“添加...”并輸入名稱(chēng)
BATCH_BUILD和值1。 - 再次單擊“添加...”,然后輸入名稱(chēng)
IDF_PATH。該值應(yīng)該是安裝 ESP-IDF 的完整路徑。Windows 用戶可以IDF_PATH從 Windows 資源管理器中復(fù)制。 - 編輯
PATH環(huán)境變量。保留當(dāng)前值,并將路徑附加到作為 IDF 設(shè)置的一部分安裝的 Xtensa 工具鏈,如果這尚未在 PATH 中列出。工具鏈的典型路徑如下所示/home/user-name/esp/xtensa-esp32-elf/bin。請(qǐng)注意,您需要:在附加路徑之前添加一個(gè)冒號(hào)。Windows 用戶需要預(yù)先C:\msys32\mingw32\bin;C:\msys32\opt\xtensa-esp32-elf\bin;C:\msys32\usr\bin添加PATH環(huán)境變量(如果您將 msys32 安裝到不同的目錄,那么您需要更改這些路徑以匹配)。 - 在 macOS 上,添加一個(gè)
PYTHONPATH環(huán)境變量并將其設(shè)置為/Library/Frameworks/Python.framework/Versions/2.7/pb/python2.7/site-packages. 這樣一來(lái),在安裝步驟中安裝了 pyserial 的系統(tǒng) Python 會(huì)覆蓋任何內(nèi)置的 Ecppse Python。
附加說(shuō)明:
如果 IDF_PATH 目錄或項(xiàng)目目錄位于C:\msys32\home目錄外,則必須在 C/C++ 構(gòu)建屬性中提供自定義構(gòu)建命令:(請(qǐng)注意,此方法可能會(huì)顯著增加構(gòu)建時(shí)間。)python ${IDF_PATH}/tools/windows/ecppse_make.py
導(dǎo)航到“C/C++ General”->“Preprocessor Include Paths”屬性頁(yè):
- 單擊“提供商”選項(xiàng)卡
- 在提供程序列表中,單擊“CDT Cross GCC Built-in Compiler Settings”。將“獲取編譯器規(guī)范的命令”更改為.
xtensa-esp32-elf-gcc ${FLAGS} -std=c++11 -E -P -v -dD "${INPUTS}" - 在提供程序列表中,單擊“CDT GCC Build Output Parser”并將“Compiler command pattern”更改為
xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)
導(dǎo)航到“C/C++ General”->“Indexer”屬性頁(yè):
- 選中“啟用項(xiàng)目特定設(shè)置”以啟用此頁(yè)面上的其余設(shè)置。
- 取消選中“允許包含的啟發(fā)式解析”。啟用此選項(xiàng)后,Ecppse 有時(shí)無(wú)法找到正確的頭目錄。
導(dǎo)航到“C/C++ Build”->“Behavior”屬性頁(yè):
- 選中“啟用并行構(gòu)建”以并行啟用多個(gè)構(gòu)建作業(yè)。
四、make menuconfig
在Ecppse編譯之前,需要首先使用C:\msys32\msys2.exe來(lái)構(gòu)建項(xiàng)目結(jié)構(gòu),否則直接在Ecppse中編譯會(huì)報(bào)錯(cuò)無(wú)法編譯。
點(diǎn)擊打開(kāi)msys2,進(jìn)入項(xiàng)目文件夾:
cd /home/developer/esp/project_esp32_v1
然后執(zhí)行:
make menuconfig

等待項(xiàng)目構(gòu)建,會(huì)進(jìn)入界面:

這時(shí)需要配置燒錄的串口號(hào):選擇Serial flasher config 進(jìn)入之后查看自己ESP32所用的串口并且在此界面下更改:COM9,然后OK,退出配置界面。

五、返回Ecppse編譯與燒錄
上述步驟四構(gòu)建成功后,關(guān)閉cmd命令行界面,返回ecppse軟件:

編譯成功后。準(zhǔn)備燒錄項(xiàng)目:
- 在 Project Explorer 中右鍵單擊您的項(xiàng)目(重要的是確保您選擇的是項(xiàng)目,而不是項(xiàng)目中的目錄,否則 Ecppse 可能會(huì)找到錯(cuò)誤的 Makefile。)
- 從上下文菜單中選擇 Build Targets -> Create...。
- 輸入“flash”作為目標(biāo)名稱(chēng)。將其他選項(xiàng)保留為默認(rèn)值。
- 現(xiàn)在您可以使用 Project -> Build Target -> Build (Shift+F9) 來(lái)構(gòu)建自定義閃存目標(biāo),這將編譯和閃存項(xiàng)目。
請(qǐng)注意,您需要使用“make menuconfig”來(lái)設(shè)置串行端口和其他用于閃爍的配置選項(xiàng)?!癿ake menuconfig”仍然需要命令行終端(請(qǐng)參閱適用于您平臺(tái)的說(shuō)明。)



燒錄成功!

到此這篇關(guān)于Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境的文章就介紹到這了,更多相關(guān)Eclipse搭建ESP32編譯環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MyBatis-Plus中SimpleQuery查詢(xún)實(shí)現(xiàn)
本文主要介紹了MyBatis-Plus中SimpleQuery查詢(xún)實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
java按指定編碼寫(xiě)入和讀取文件內(nèi)容的類(lèi)分享
這篇文章主要介紹了java按指定編碼寫(xiě)入和讀取文件內(nèi)容的類(lèi),需要的朋友可以參考下2014-02-02
SpringBoot調(diào)用第三方WebService接口的操作技巧(.wsdl與.asmx類(lèi)型)
這篇文章主要介紹了SpringBoot調(diào)第三方WebService接口的操作代碼(.wsdl與.asmx類(lèi)型 ),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
Java 中的字符串替換方法之replace, replaceAll 和 rep
在Java中,字符串的替換是一種常見(jiàn)的操作,特別是在處理文本和格式化輸出時(shí),本文將詳細(xì)討論這些方法的用法、區(qū)別以及示例,感興趣的朋友一起看看吧2024-12-12
SpringBoot集成Activiti7工作流引擎的示例代碼
本文主要介紹了SpringBoot集成Activiti7工作流引擎的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
Java實(shí)現(xiàn)簡(jiǎn)單碰撞檢測(cè)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單碰撞檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
簡(jiǎn)單理解遵循接口隔離原則的Java設(shè)計(jì)模式編程
這篇文章主要介紹了遵循接口隔離原則的Java設(shè)計(jì)模式編程,針對(duì)Java編程中interface接口方面的編寫(xiě)進(jìn)行約束,需要的朋友可以參考下2016-02-02
Mybatis執(zhí)行流程、緩存原理及相關(guān)面試題匯總
最近剛學(xué)完MyBatis,趁著大好機(jī)會(huì),總結(jié)一下它的執(zhí)行流程,面試也愛(ài)問(wèn)這個(gè),下面這篇文章主要給大家介紹了關(guān)于Mybatis執(zhí)行流程、緩存原理及相關(guān)面試題的相關(guān)資料,需要的朋友可以參考下2022-02-02

