簡介
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
獲取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 工具安裝器包括所需的交叉編譯器、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