Arduino ESP32 v2 使用记录:开发环境搭建

文章目录

  • 目的
  • 开发环境搭建
  • 程序下载测试
  • 使用VS Code进行开发
  • 批量烧录固件到模块中
  • 总结

目的

在之前的文章 《使用Arduino开发ESP32(01):开发环境搭建》
中介绍了使用Arduino开发ESP32的开发环境搭建内容,只不过当时的 Arduino core for the ESP32v1 版本的。现在更新到 v2 版本后有一些改动,同时 Arduino IDE 也有改动,所以这里就对当前情况下的开发环境搭建做个记录。

Arduino core for the ESP32 项目地址:https://github.com/espressif/arduino-esp32
项目
ESP32 Arduino Core 文档:https://docs.espressif.com/projects/arduino-esp32/en/latest/index.html

开发环境搭建

开发环境搭建官方也有文档介绍:https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html
这里介绍在 Windows 上使用 Arduino IDE 搭建开发环境的方式。

下载安装 Arduino IDE (当前版本为 2.1.1 ):
https://www.arduino.cc/en/software
初次安装完成打开后可能会下载安装一堆库和驱动等。

安装完成后在开发板管理中搜索ESP32直接就可以找到开发板数据包(当前版本为 2.0.11 )进行安装:
在这里插入图片描述

如果搜索不到开发板数据包的话可以在 File > Preferences > Settings > Additional boards manager URLs 中添加下面的数据包链接后重启软件再试:
https://espressif.github.io/arduino-esp32/package_esp32_index.json

因为网络原因,安装非常耗时:
在这里插入图片描述
在这里插入图片描述

如果安装困难请参考下面文章:
《Arduino core for the ESP32 安装失败问题处理方法》https://blog.csdn.net/Naisu_kun/article/details/114582503

程序下载测试

选择对应的开发板或者模块,选择之后可以进行进一步的设置:
在这里插入图片描述

新建 test 文件夹,其中新建 test.ino 文件(主文件名必须和文件夹名称一样),文件内容与程序测试如下图:
在这里插入图片描述

使用VS Code进行开发

使用 Arduino IDE 开发对于小的Demo还行,项目稍大的话就不太方便了,可以使用 VS Code 进行开发,具体的使用可以参考下面文章:
《使用VS Code开发Arduino》https://blog.csdn.net/Naisu_kun/article/details/120201633

需要注意的是目前版本下默认就会推荐使用 arduino-cli
Arduino IDE 2.1.1VSCode 1.81.1Arduino扩展v0.6.0),安装扩展重启软件打开项目时会进行提示,也可以手动进行配置:
在这里插入图片描述

批量烧录固件到模块中

批量烧录固件到模块中内容可以参考 《使用Arduino开发ESP32(01):开发环境搭建》 文章中同名章节。

稍稍有一点需要注意的是之前文章中介绍的对于各块内容的查找位置其实是有点问题的。根据配置不同理论上是会生成不同的固件的,所有固件都会在 Arduino IDE 编译的项目的临时文件夹下,可以去其中找到相关内容,问题是临时目录名称是不固定的,随意查找需要一点经验。

但现在如果使用 VS Code 进行开发,在项目目录下的 .vscode 目录中的 arduino.json 文件中添加了 "output": "./build" 内容。那么编译生成的所有内容就会在项目目录下 build 目录中:
在这里插入图片描述

需要注意的是 boot_app0.bin 文件在 用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\版本号\tools\partitions 下:
在这里插入图片描述

几个文件与其对应烧录位置如下会随着不同的模块不同的Flash配置等有差异,可以通过 Arduino IDE 下载程序时输出的日志来获取(根据文件大小来分辨):
在这里插入图片描述

有了上面信息之后就可以使用乐鑫官方的 Flash 下载工具 进行下载了:
https://www.espressif.com.cn/zh-hans/support/download/other-tools 。

这个工具也可以把几块内容合并为一块内容:
在这里插入图片描述
合并后的固件烧录地址通常为0。

总结

Arduino ESP32 v2v1 版本开发环境搭建上来说基本没啥太大区别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/63541.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络(8) --- IP与IP协议

计算机网络(7) --- UDP协议和TCP协议_哈里沃克的博客-CSDN博客UDP协议和TCP协议https://blog.csdn.net/m0_63488627/article/details/132125374?spm1001.2014.3001.5501 目录 1.IP与IP协议 IP作用 协议​编辑 2.网段划分 DHCP划分 CIDR划分 特殊…

【vue3】vue3中父子组件传参:

文章目录 一、父传子:二、父调用子方法:三、子组件发送emit方法给父组件: 一、父传子: 【1】父组件传值: 【2】子组件接收: 二、父调用子方法: 【1】父组件调用: 【2】子组件暴…

Hazel 引擎学习笔记

目录 Hazel 引擎学习笔记学习方法思考引擎结构创建工程程序入口点日志系统Premake\MD没有 cpp 文件的项目会出错include 到某个库就要包含这个库的路径,注意头文件展开 事件系统 获取和利用派生类信息预编译头文件抽象窗口类和 GLFWgit submodule addpremake 脚本禁…

02.Deep Visual-Semantic Alignments for Generating Image Descriptions

目录 前言泛读摘要IntroductionRelated Work小结 精读Model3.1 学习对齐视觉与语言数据图片表征句子表征对齐目标损失函数解码文本片段对齐图像 MRNN生成描述优化 实验结论 代码 前言 本课程来自深度之眼《多模态》训练营,部分截图来自课程视频。 文章标题&#xf…

JDBC快速入门操作

一、jdbc简介 JDBC是java用于连接数据库的api,数据库软件有多种,像MySQL,SQLsever,Oracle等数据库,这些数据库都是由不同的团队开发的,所以相同的功能的api的名字不同,当一个后端工程需要切换一个数据库软件…

Dubbo简介

1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只…

ArcGIS Pro技术应用(暨基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合)

GIS是利用电子计算机及其外部设备,采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲,它是在一定的地域内,将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来,达到对地理和属性信息的综合管理。GIS的…

Mac M1 安装Oracle Java 与 IEDA

文章目录 1 官网下载2 安装IDEA参考 1 官网下载 https://www.oracle.com/ 使用finder中的拖拽进行安装即可 2 安装IDEA https://www.jetbrains.com/zh-cn/idea/download/?sectionmac 同样的,下载完后拖拽安装即可 参考 Mac M1 安装Java 开发环境 https://blog.…

Lorenz系统最大lyapunov exponent的求解

首先看下Lorenz混沌系统: 赋予初始值,例如: 当然,初始值可以根据需要设定。 看下他的吸引子,很美: 看下他的分叉图:

动手学DL——MLP多层感知机【深度学习】【PyTorch】

文章目录 4、多层感知机( MLP)4.1、多层感知机4.1.1、隐层4.1.2、激活函数 σ 4.2、从零实现多层感知机4.3、简单实现多层感知机4.4、模型选择、欠拟合、过拟合4.5、权重衰退4.6、丢失法|暂退法(Dropout)4.6.1、dropout 函数实现4…

golang学习随记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 go学习快捷键及快速生成代码片段go基础循环流程控制关键字切片,拷贝函数闭包 defer语句格式化输出go语言随机数rand.seed() 包管理并发编程goroutinecha…

实践分享:小程序事件系统设计

微信小程序官方文档中解释说:事件是用于子组件向父组件传递数据,可以传递任意数据。 小程序开发中的事件是指视图层到逻辑层的通讯方式,主要是可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件&#…