Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程
一、準(zhǔn)備軟件與環(huán)境
- esp32_win32_msys2_environment_and_toolchain-20181001
- esp-idf_3.3.1
- ecppse C/C++
- python 3.8
- git
二、安裝過程
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盤中:
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依賴包:(C盤目錄根據(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)目開始。您可以使用 github 中的 idf-template 項(xiàng)目,或者打開 esp-idf examples 子目錄中的示例之一。
- Ecppse 運(yùn)行后,選擇 File -> Import...
- 在彈出的對(duì)話框中,選擇“C/C++”->“Existing Code as Makefile Project”,點(diǎn)擊Next。
- 在下一頁上,輸入“Existing Code Location”作為您的 IDF 項(xiàng)目的目錄。不要指定 ESP-IDF 目錄本身的路徑(稍后提供)。您指定的目錄應(yīng)包含一個(gè)名為“Makefile”的文件(項(xiàng)目 Makefile)。
- 在同一頁面上,在“用于索引器設(shè)置的工具鏈”下選擇“跨 GCC”。然后單擊完成。
項(xiàng)目屬性
- 新項(xiàng)目將出現(xiàn)在 Project Explorer 下。右鍵單擊項(xiàng)目并從上下文菜單中選擇屬性。
- 單擊“C/C++ Build”下的“Environment”屬性頁面。單擊“添加...”并輸入名稱
BATCH_BUILD
和值1
。 - 再次單擊“添加...”,然后輸入名稱
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
. 這樣一來,在安裝步驟中安裝了 pyserial 的系統(tǒng) Python 會(huì)覆蓋任何內(nèi)置的 Ecppse Python。
附加說明:
如果 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”屬性頁:
- 單擊“提供商”選項(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”屬性頁:
- 選中“啟用項(xiàng)目特定設(shè)置”以啟用此頁面上的其余設(shè)置。
- 取消選中“允許包含的啟發(fā)式解析”。啟用此選項(xiàng)后,Ecppse 有時(shí)無法找到正確的頭目錄。
導(dǎo)航到“C/C++ Build”->“Behavior”屬性頁:
- 選中“啟用并行構(gòu)建”以并行啟用多個(gè)構(gòu)建作業(yè)。
四、make menuconfig
在Ecppse編譯之前,需要首先使用C:\msys32\msys2.exe來構(gòu)建項(xiàng)目結(jié)構(gòu),否則直接在Ecppse中編譯會(huì)報(bào)錯(cuò)無法編譯。
點(diǎn)擊打開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)名稱。將其他選項(xiàng)保留為默認(rèn)值。
- 現(xiàn)在您可以使用 Project -> Build Target -> Build (Shift+F9) 來構(gòu)建自定義閃存目標(biāo),這將編譯和閃存項(xiàng)目。
請(qǐng)注意,您需要使用“make menuconfig”來設(shè)置串行端口和其他用于閃爍的配置選項(xiàng)?!癿ake menuconfig”仍然需要命令行終端(請(qǐng)參閱適用于您平臺(tái)的說明。)
燒錄成功!
到此這篇關(guān)于Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境的文章就介紹到這了,更多相關(guān)Eclipse搭建ESP32編譯環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javaweb前端向后端傳值的幾種方式總結(jié)(附代碼)
javaweb是java開發(fā)中的一個(gè)方向,下面這篇文章主要給大家介紹了關(guān)于javaweb前端向后端傳值的幾種方式的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03Java中使用ForkJoinPool的實(shí)現(xiàn)示例
ForkJoinPool是一個(gè)功能強(qiáng)大的Java類,用于處理計(jì)算密集型任務(wù),本文主要介紹了Java中使用ForkJoinPool的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09mybatis-plus 處理大數(shù)據(jù)插入太慢的解決
這篇文章主要介紹了mybatis-plus 處理大數(shù)據(jù)插入太慢的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12SpringBoot+Mybatis-Plus實(shí)現(xiàn)mysql讀寫分離方案的示例代碼
這篇文章主要介紹了SpringBoot+Mybatis-Plus實(shí)現(xiàn)mysql讀寫分離方案的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03攔截器獲取request的值之后,Controller拿不到值的解決
這篇文章主要介紹了攔截器獲取request的值之后,Controller拿不到值的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Mybatis的@select和@SelectProvider注解方式動(dòng)態(tài)SQL語句解讀
這篇文章主要介紹了Mybatis的@select和@SelectProvider注解方式動(dòng)態(tài)SQL語句,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Assert.assertEquals的使用方法及注意事項(xiàng)說明
這篇文章主要介紹了Assert.assertEquals的使用方法及注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Java?NIO緩沖區(qū)Buffer基礎(chǔ)教程示例
這篇文章主要介紹了Java?NIO緩沖區(qū)Buffer基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10spring boot 自定義規(guī)則訪問獲取內(nèi)部或者外部靜態(tài)資源圖片的方法
這篇文章主要介紹了spring boot 自定義規(guī)則訪問獲取內(nèi)部或者外部靜態(tài)資源圖片的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01