【ESP32学习之路1——Linux下的环境搭建】
2022/3/22 7:27:43
本文主要是介绍【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的软件开发环境,完成入门的学习。
这篇关于【ESP32学习之路1——Linux下的环境搭建】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法