今天來嘗試使用 esp-idf 編譯並燒錄固件至 ESP32-S2。官方教程如下:ESP32-S2 快速入門。本文將基於舊版 esp-idf 來進行 git 更新,環境配置等操作後再編譯燒錄程序至 ESP32-S2。
1. 使用 git 更新 esp-idf 至最新版本
首先需要進入到 esp-idf 目錄下,然後進行 分支切換 與 版本更新,如下:
cd ~/esp/esp-idf
git checkout master
git pull
git submodule update --init --recursive
這樣 esp-idf 就是與官方 github 同步的最新版了。可以通過以下指令查看 esp-idf 具體的版本信息:
git log --oneline -1
注:如果並沒有任何版本的 esp-idf,使用
git clone --recursive https://github.com/espressif/esp-idf.git
指令即可下載最新版 esp-idf 到本地。
2. esp-idf 環境配置
首先進入到剛剛下載好的 esp-idf 目錄下,然後以下指令(部分指令次序可交換,具體細節請參考 ESP32-S2 快速入門):
cd ~/esp/esp-idf
export IDF_PATH=$PWD
. add_path.sh
./install.sh
. ./export.sh
到此環境配置就結束了。
注:執行*.sh 文件的 2 種形式:
第一種表示在當前的父 shell 中生成一個子 shell 來運行 *.sh 文件:./test.sh
第二種表示在父 shell 進程中的一部分運行,就是沒有生成子進程的 shell 來運行 *.sh 文件:. test.sh
(注意 . 和 test.sh 之間有空格)
3. esp-idf 中 hello_world 示例編譯燒錄
這一部分跟以前的 ESP32 程序編譯燒錄差不多,只是額外需要 選擇“目標”芯片:idf.py set-target esp32s2
你也可以在 menuconfig 的過程中將目標芯片選擇爲 ESP32-S2。這部分全部流程如下:
cd ~/esp/esp-idf/examples/get-started/hello_world
idf.py -DIDF_TARGET=esp32s2 menuconfig
idf.py build
idf.py -p /dev/ttyUSB1 -b 460800 flash
如果想要使用監視器進行 log 信息的查看,使用以下指令:
idf.py -p /dev/ttyUSB1 monitor
注:上述指令中
-p
後面的/dev/ttyUSB1
請自行替換爲對應的串口。如果不知道使用的那個串口,使用ls -l /dev/ttyUSB*
進行查詢即可。
到此就成功完成本文全部流程啦,感謝大家的閱讀。