最近买了一块微雪的ESP32-S3套件,带触摸屏带IMU带麦克风和扬声器,甚至还送一块18650电池。大二、大三的时候玩ESP32都是直接arduino,也没试过官方的esp-idf和linux写Cmake开发,趁着大年初一直接折腾一下。


本次折腾配置:
开发环境:Ubuntu 22.04
设备: 微雪ESP32-S3-Touch-LCD-3.49
环境配置
安装ESP-IDF 安装管理器 (EIM)
通过APT进行安装
添加软件源
echo "deb [trusted=yes] https://dl.espressif.com/dl/eim/apt/ stable main" | sudo tee /etc/apt/sources.list.d/espressif.list
sudo apt update
安装GUI和CLI
sudo apt install eim
打开 ESP-IDF 安装管理器应用程序 eim。
如果之前没安装过,点击新安装,然后我这里选的简易安装。

安装完成,按照界面提示,开一个终端激活ESP-IDF环境

source ~/.espressif/tools/activate_idf_v5.5.2.sh
如图成功

构建项目
再编译微雪官方提供的例程之前,先试试官方的例程
创建个文件夹
mkdir -p ~/esp && cd ~/esp
复制官方文件夹下面的示例
cp -r $IDF_PATH/examples/get-started/hello_world ./hello_world
cd hello_world
设置目标芯片,我的是ESP32-S3,第一次选择要下点东西,得等会。
中间如果卡了反复重试报网络问题,直接ctrl+c,配好网络删掉build目录重新来。(多半重连不上)
idf.py set-target esp32s3
设置完成后可以通过menuconfig的TUI界面设置项目的配置选项
idf.py menuconfig
编译之前cp的Helloworld例程
idf.py build
烧录程序
把开发板连接到电脑,首先查看下串口。电脑没连上开发板和连上之后各看一次串口
ls /dev/tty*

我这里是/dev/ttyACM0。
设备找到,然后烧录。
idf.py -p /dev/ttyACM0 flash
烧录成功,打开监视器,验证例程
idf.py -p /dev/ttyACM0 monitor

注意:我板子是16MB Flash,但是固件只用了2MB,按 ctrl + ] 退出监视器返回项目设置,重新配置下flash。
idf.py menuconfig
找到:
Serial flasher config → Flash size → 16 MB
保存并退出
删除之前的构建文件
rm -rf build
重新构建并烧录
idf.py -p /dev/ttyACM0 flash monitor
成功

小结
本次实践,进行了Linux开发环境下ESP-IDF工具的安装,并且编译了官方例程,成功连接开发板并烧录例程进行验证,为接下来的开发打下了基础。