今天来尝试使用 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 到本地。
首先进入到刚刚下载好的 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 之间有空格)
这一部分跟以前的 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*
进行查询即可。
到此就成功完成本文全部流程啦,感谢大家的阅读。