ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-03-21 23:33:11  阅读:401  来源: 互联网

标签:烧录 py esp ESP32 ESP idf Linux IDF 搭建


一、设置开发环境
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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有