系统相关
首页 > 系统相关> > 【ESP32学习之路1——Linux下的环境搭建】

【ESP32学习之路1——Linux下的环境搭建】

作者:互联网

一、设置开发环境
1、乐鑫开发文档
ESP-IDF编程指南——快速入门 stable(4.4)版本
2、安装准备(Linux、Ubuntu)
(先安装好虚拟机、Ubuntu和Git,然后可以进行如下操作)
Linux 平台工具链的标准设置:
编译 ESP-IDF 需要以下软件包,在ubuntu下使用如下命令安装工具(下载教慢可能要多试几次)

sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

在这里插入图片描述
3、获取ESP-IDF
在围绕 ESP32 构建应用程序之前,先获取乐鑫提供的软件库文件 ESP-IDF 仓库(由于放在GitHub上下载极慢,建议开VPN,可能也要操作好多次,IDF组件可能下载不全)
Linux下打开终端,后运行以下命令:

mkdir -p ~/esp
cd ~/esp
git clone -b v4.4 --recursive https://github.com/espressif/esp-idf.git

在这里插入图片描述
如果查看本地IDF版本使用命令:

idf.py --version

如果IDF组件模组没有下载全可以用一下下面的命令:

git submodule update --init --recursive

4、设置工具
除了 ESP-IDF 本身,还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等

cd ~/esp/esp-idf
./install.sh esp32

通过一次性指定多个目标,可为多个目标芯片同时安装工具,如运行 ./install.sh esp32,esp32c3,esp32s3。 通过运行 ./install.sh 或 ./install.sh all 可一次性为所有支持的目标芯片安装工具。
在这里插入图片描述

5、设置环境变量
刚刚安装的工具尚未添加至 PATH 环境变量,无法通过“命令窗口”使用这些工具。因此,必须设置一些环境变量,这可以通过 ESP-IDF 提供的另一个脚本完成。
请在需要运行 ESP-IDF 的终端窗口运行以下命令:

. $HOME/esp/esp-idf/export.sh

在这里插入图片描述

二、创建工程
1、开始创建工程
现在可以开始准备开发 ESP32 应用程序了。从 ESP-IDF 中 examples 目录下的 get-started/hello_world 工程开始。
将 get-started/hello_world 工程复制至本地的 ~/esp 目录下:

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

2、连接设备查看端口
查看 ESP32 开发板(或外部转串口适配器)的串口设备名称,请将以下命令运行两次。首先,断开开发板或适配器,首次运行以下命令;然后,连接开发板或适配器,再次运行以下命令。其中,第二次运行命令后出现的端口即是 ESP32 对应的串口:

ls /dev/tty*

在这里插入图片描述
在这里插入图片描述
3、配置
开始创建工程中提到的 hello_world 目录,并运行工程配置工具 menuconfig

cd ~/esp/hello_world
idf.py set-target esp32
idf.py menuconfig

打开一个新项目后,应首先设置“目标”芯片 idf.py set-target esp32。注意,此操作将清除并初始化项目之前的编译和配置(如有)。 也可以直接将“目标”配置为环境变量(此时可跳过该步骤)
如果之前的步骤都正确,则会显示下面的菜单:
在这里插入图片描述
hello_world 示例项目会以默认配置运行,因此可以跳过使用 menuconfig 进行项目配置这一步骤。
4、编译工程
使用以下命令,编译烧录工程:

idf.py build

运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序三个二进制文件。
在这里插入图片描述
5、烧录到设备
使用以下命令,将刚刚生成的二进制文件 (bootloader.bin, partition-table.bin 和 hello_world.bin) 烧录至ESP32 开发板:

idf.py -p PORT [-b BAUD] flash

将 PORT 替换为 ESP32 开发板的串口名称;可以将 BAUD 替换为希望的烧录波特率。默认波特率为 460800。
我在烧录过程中出现了没有权限打开串口:
在这里插入图片描述
在Linux中,对于非root用户默认没有串口设备的读写权限,解决方法如下:

sudo usermod -a -G dialout 用户名

在这里插入图片描述
andy为我的用户名,要改为自己的用户名,然后在重启虚拟机上述命令生效,解决问题。
继续烧录,idf.py -p /dev/ttyUSB0 flash,烧录时记得按下开发板上的boot键进入烧录模式,烧录成功
在这里插入图片描述
6、监视器
使用 idf.py -p PORT monitor 命令,监视 “hello_world” 工程的运行情况。可以看到程序启动打印helloworld:
在这里插入图片描述
可使用快捷键 Ctrl+],退出 IDF 监视器。
也可以运行以下命令,一次性执行构建、烧录和监视过程:
idf.py -p PORT flash monitor
在这里插入图片描述
-b 921600 是下载的波特率,会更快一些,默认是460800。

至此,已搭建好ESP32的软件开发环境,完成入门的学习。

标签:烧录,py,esp,ESP32,ESP,idf,Linux,IDF,搭建
来源: https://blog.csdn.net/weixin_48213877/article/details/123631327