ESP32 ESP-IDF CMake Windows開發環境搭建

簡介

ESP-IDF 是 ESP32 芯片的官方開發框架

GUN Make和CMake的對比

GUN Make在Linux和Mac OS很容易構建一個工程,但Windows使用GUN需要使用MinGW。
CMake是一個跨平臺軟件編譯工具可以在Windows、Linux和Mac OS上使用,CMake接根據IDF_TOOLS_PATH使用這些編譯工具,在CMake 中使用的是ninja構建工具。

安裝準備

python

通過anaconda安裝,python 版本選擇python3.7
anaconda下載地址
anaconda安裝配置

git

git for windwos下載

獲取ESP-IDF

D:
cd software
git clone --recursive https://github.com/espressif/esp-idf.git

ESP-IDF 工具安裝器下載

通過install.bat安裝

設置工具的安裝目錄
在環境變量中設置 IDF_TOOLS_PATH=D:\software\espressif

然後重新打開命令行

D:
cd software/esp-idf
install.bat

ESP-IDF安裝器安裝

ESP-IDF 工具安裝器

ESP-IDF 工具安裝器包括所需的交叉編譯器、OpenOCD、cmake 和 Ninja 編譯工具,以及一款 mconf-idf 配置工具。
此外,本安裝器還可在有需要時下載、運行 Python 3.7 和 Git For Windows 的安裝器(在安裝過程中可以看到)

設置工具及環境變量

由於安裝的工具尚未添加至 PATH 環境變量,無法通過命令行使用這些工具。因此,必須設置一些環境變量

D:
cd software/esp-idf/ # IDF的下載位置
export.bat

查看idf.py是否安裝成功

> idf.py --help

解決每次構建前都需要執行 export.bat

方法一

將以下內容配置到Path中,每次打開命令行就可以使用idf.py命令

D:\software\espressif\.espressif\tools\xtensa-esp32-elf\esp-2020r1-8.2.0\xtensa-esp32-elf\bin
D:\software\espressif\.espressif\tools\xtensa-esp32s2-elf\esp-2020r1-8.2.0\xtensa-esp32s2-elf\bin
D:\software\espressif\.espressif\tools\esp32ulp-elf\2.28.51-esp-20191205\esp32ulp-elf-binutils\bin
D:\software\espressif\.espressif\tools\esp32s2ulp-elf\2.28.51-esp-20191205\esp32s2ulp-elf-binutils\bin
D:\software\espressif\.espressif\tools\cmake\3.16.4\bin
D:\software\espressif\.espressif\tools\openocd-esp32\v0.10.0-esp32-20200406\openocd-esp32\bin
D:\software\espressif\.espressif\tools\ninja\1.10.0\
D:\software\espressif\.espressif\tools\idf-exe\1.0.1\
D:\software\espressif\.espressif\tools\ccache\3.7\
D:\software\espressif\.espressif\python_env\idf4.2_py3.7_env\Scripts
D:\software\esp-idf\tools

方法二

在桌面創建一個cmd.exe的快捷圖標,在目標中添加C:\Windows\System32\cmd.exe /k “D:\software\esp-idf\export.bat”,在起始位置中添加E:\project\esp

創建一個測試工程

創建一個esp的工程目錄E:\project\esp並在命令行中選擇到該目錄下

 E:
cd project\esp # 選擇到該目錄下
xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world

編譯配置

和linux內核配置界面類似

如果切換成其它芯片可以參考IDF_TARGET

cd  E:\project\esp\hello_world # 選擇到要構建的項目下
idf.py set-target esp32 # 默認是esp32
idf.py menuconfig


menuconfig 工具的常見操作

  • 上下箭頭:移動
  • 回車:進入子菜單
  • ESC 鍵:返回上級菜單或退出
  • 英文問號:調出幫助菜單(退出幫助菜單,請按回車鍵)
  • 空格Y 鍵:選擇 [] 配置選項;N 鍵:禁用 [] 配置選項
  • 英文問號 (查詢配置選項):調出有關該選項的幫助菜單
  • / 鍵:尋找配置工程

如果界面出現亂碼可以在D:\software\esp-idf\tools中的idf.py的main中添加os.system(“chcp 437”),註冊python編碼的格式的統一

編譯工程

執行以下命令可以將工程構建成二進制文件

> idf.py build

出現以下提示說明工程構建成功

編譯成功會在hello-world\build的文件夾中生成 hello-world.bin文件

燒錄

使用以下命令,將剛剛生成的二進制文件燒錄至開發板,如果沒有多個開發板可以直接運行idf.py flash

根據對應的開發板類型選擇驅動

idf.py -p (PORT) flash

燒錄完成後,開發板將會復位,應用程序 “hello_world” 開始運行
查看COM口

idf.py -p COM3 flash

使用監控器查看運行狀態

idf.py -p COM3 monitor


您可使用快捷鍵 Ctrl+],退出 IDF 監視器。

如果日誌顯示爲亂碼,很有可能是因爲您的開發板採用了 26 MHz 晶振,而 ESP-IDF 默認支持大多數開發板使用的 40 MHz 晶振。

  • 退出監視器。
  • idf.py menuconfig 打開 menuconfig。
  • 進入 Component config –> ESP32-specific –> Main XTAL frequency 進行配置,將 CONFIG_ESP32_XTAL_FREQ_SEL 設置爲 26 MHz。
  • 重複以上步驟編譯和燒錄 應用程序。

接下來可以嘗試搭建你的集成開發環境了

如果搭建的是Linux或Mac開發環境,和以上步驟基本上類似,但建議使用make進行開發

參考:
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#id3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章