开发(二) ardunio批量固件上传地址
时间:2019-06-15
本文章向大家介绍开发(二) ardunio批量固件上传地址,主要包括开发(二) ardunio批量固件上传地址使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
https://blog.csdn.net/Naisu_kun/article/details/84958561
批量烧录固件到模块中
上面讲了如何编写上传程序,接下来讲讲如何量产。
相比《Arduino for esp8266》的量产烧录,这次的ESP32相对来说麻烦些。
仔细观察上面程序的上传过程(具体的字节数可能和上文程序有出入):
上面讲了如何编写上传程序,接下来讲讲如何量产。
相比《Arduino for esp8266》的量产烧录,这次的ESP32相对来说麻烦些。
仔细观察上面程序的上传过程(具体的字节数可能和上文程序有出入):
整个过程向ESP32模块中烧录了四块内容,这四块内容是什么?
第一块是boot_app0.bin,
你可以在用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\tools\partitions中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/partitions 这里找到它;
第二块是bootloader,
第二块是bootloader,
你可以在用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\tools\sdk\bin中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/sdk/bin 这里找到它,bootloader有很多个,分别对应不同的Flash芯片通讯接口模式和速度;
第三块是你的程序内容,
可以在Arduino IDE中导出二进制文件,然后在项目文件夹中获得:
第四块是闪存区域划分信息,
默认为default.bin,你可以在用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\tools\partitions中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/partitions 这里找到它;
项目在每次编译或上传时会根据你的设置在用户文件夹临时目录生成临时的项目名称.ino.partitions.bin文件,你可以通过文件搜索找到它,当你在IDE中修改Partition Scheme设置后,就不能用默认的default.bin了,需要找到对应文件;
项目在每次编译或上传时会根据你的设置在用户文件夹临时目录生成临时的项目名称.ino.partitions.bin文件,你可以通过文件搜索找到它,当你在IDE中修改Partition Scheme设置后,就不能用默认的default.bin了,需要找到对应文件;
有了全部的四个文件后就可以进行烧录了。
烧录工具这里用乐鑫官方的:https://www.espressif.com/zh-hans/support/download/other-tools
烧录工具这里用乐鑫官方的:https://www.espressif.com/zh-hans/support/download/other-tools
软件打开不是很快,耐心等待。打开后选择ESP32 DownloadTool,然后再烧录软件界面选择对应的bin文件,填写对应地址,选择Flash速度、接口和大小,最后点击下方START按钮即可烧录。
总结
到此为止所有用arduino开发esp32的开发环境就建立完成了,这个相比用官方的IDF开发环境搭建来说就简单不少,比较适合新手体验esp32。
到此为止所有用arduino开发esp32的开发环境就建立完成了,这个相比用官方的IDF开发环境搭建来说就简单不少,比较适合新手体验esp32。
原文地址:https://www.cnblogs.com/kekeoutlook/p/11028637.html
- React多页面应用1(webpack4 开发环境搭建,包括热更新,api转发等)
- 洛谷P2345 奶牛集会
- P2880 [USACO07JAN]平衡的阵容Balanced Lineup
- Python黑客编程3网络数据监听和过滤
- React第三方组件6(状态管理之Mobx的使用⑤异步操作)
- 机器学习(五)使用Python和R语言从头开始理解和编写神经网络介绍目录神经网络背后的直观知识多层感知器及其基础知识什么是激活函数?前向传播,反向传播和训练次数(epochs)多层感知器全批量梯度下降
- 洛谷P2251 质量检测
- React第三方组件6(状态管理之Mobx的使用④TodoList下)
- HDU 1536 S-Nim
- 洛谷P2723 丑数 Humble Numbers
- Python黑帽编程2.5 函数
- 洛谷P1317 低洼地
- ZOJ 3594 Sexagenary Cycle
- React第三方组件6(状态管理之Mobx的使用③TodoList中)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JWT 使用 nimbus-jose-jwt 进行解码
- linux centos7 编译安装python3 --shell脚本
- Qt音视频开发36-USB摄像头解码qcamera方案
- JS中属性描述符
- CSS3实现彩色炫酷文字
- 动态import来拆分代码后发布问题
- webpack中动态import()打包后的文件名称定义
- springboot通过javaconfig配置jackson
- ASR6505 LoRaWAN通信(二)
- PHP下ajax跨域的解决方案之jsonp实例分析
- PHP终止脚本执行的实例代码
- leetcode之有多少小于当前数字的数字
- HTTP/2内核剖析
- mysql数据库中指定值在所有表中所有字段中的替换
- C语言火车订单管理源码