当前位置:网站首页>Easy EDA #学习笔记09# | ESP32-WROOM-32E模组ESP32-DevKitC-V4开发板 一键下载电路
Easy EDA #学习笔记09# | ESP32-WROOM-32E模组ESP32-DevKitC-V4开发板 一键下载电路
2022-06-23 05:17:00 【Naiva】
问题描述
使用Arduino IDE烧录ESP32的时候,IDE会提示在60秒(好像是)内要按下板载BOOT键,否则就出现
'…'___连串等待,超时报错,结束。
MicroBlocks 废除 ESP32 的 BOOT 按键
这个操作在 Wemos D1 R32 板上没有。Wemos D1 R32不但引脚分布要像 Arduino UNO一
样,包括操作也向UNO靠拢。ESP32开发板的右侧都带有BOOT键,当烧录程序时,都有这个操作。
之所以需要按下BOOT键,看过乐鑫的ESP32文档会知道,ESP32有个量产工具,官方提供
了,可以直接烧录其他固件,比如改成Micropython等等,BOOT是改变烧录时GPIO0的电平,
固件改变之后,再上电就直接执行固件里面的程序,固件Loader再去执行二级程序,我们的设
计就执行起来了。
悟到了这个道理,结合前面microBlocks“升级主板固件”出错时看到的原理(这个出错再没复
现过,可惜的是竟然没有把里面的块程序保存,也没有截屏来研究),就知道了microBlocks的所
谓升级固件,只是把它的Flash程序放在ESP32里面,再写好文件系统和分区表,那么它的所谓
无需烧录、所见即所得,只是在固件文件系统里写了自己的二级Loader,因此就不必再去按
BOOT键了。
那么就试试看一下呢?
把带有BOOT按钮的ESP32板连接到USB口,然后在 MicroBlocks 里面点USB插头图标连接
一下。这个时候可能不会有什么显示,但是可能已经连接上了(后面会看到,正常了之后,就不
会这样没反应)。
点击齿轮图标,升级主板固件,再点击ESP32,开始固件烧写。
此时立即按住ESP32板上的BOOT不松开,不松开,不松开,屏幕依次提示:
直到结束后,拔下USB,重新连接ESP32,长按ESP32板载上的EN键和MicroBlocks的USB
插头图标,反复几次直到USB插头图标变成绿色。(好像不按EN键也没什么影响,多连上几次,
以后自动连接)
现在测试一个Blink程序,Block块摆好了之后,双击“当启动时”块,或者工具栏右侧的绿色
RUN钮,什么操作也不用,板上的LED闪动起来。拔下ESP32,电池供电,闪烁依旧。好了,被 MicroBlocks升级过一次固件的ESP32的板子本领强了,以后再不用按BOOT了,小白更友好
了,MicroBlocks很厉害不?
官方参考
乐鑫科技 ESP32-DevKitC-V4 参考设计 r2.1 (Schematic电路设计) :

https://www.espressif.com/zh-hans/products/devkits/esp32-devkitc
乐鑫官网该页面的底部获取【硬件参考设计文档】和【设计参考】-【ESP32系列】-【开发板】-【ESP32-DevKitC】-ESP32-DevKitC-V4 参考设计 r2.1


DTR = 0; RTS = 0, 此时Q1截止,Q2截止,EN = 1; IO0 = 1 //EN 内部上拉,此电路图中没有表示出来
DTR = 0; RTS = 1,此时Q1截止,Q2导通, EN = 1; IO0 = 0
DTR = 1; RTS = 0, 此时Q1导通,Q2截止, EN = 0; IO0 = 1
DTR = 1; RTS = 1, 此时Q1截止,Q2截止, EN = 1; IO0 = 1
产品设计时,预留程序烧录管口情况下, 印象里对固件的软件流烧录无非就 VCC、GND、Rx、Tx 这四条线需要与烧录器相连。
ESP32 进入下载模式:EN端保持高电平 ,IO0通过开关按下保持一段时间低电平即可进行烧录(乐鑫官方硬件指南)。
在ESP32的开发板里 EN 端和 IO0 都是通过上拉电阻接 VCC 了,它们初始状态都是高电平,那么就不难理解这个自动下载电路的目的了,预防了当 RTS 和 DTR 都为低电平的时候影响到电路的正常的使用,毕竟EN端至低电平整个芯片就重启。
多学一点:
- DTR(Data Terminal Ready)。请求发送 RTS(Request To Send)。
最终 ,将 C4 改成 1uF 就好了!

参考资料
边栏推荐
- js创建数组(元素都是对象)
- C Advanced Learning -- Reflection
- 下载oss文件并修改文件名
- MySQL5.6 (5.7-8) 基于shardingsphere5.1.1 Sharding-Proxy模式读写分离
- [DaVinci developer topic] -42- how to generate template and header files of APP SWC
- ffplay实现自定义输入流播放
- Day_07 传智健康项目-Freemarker
- Day_03 传智健康项目-预约管理-检查组管理
- Vs+qt project transferred to QT Creator
- Softing dataFEED OPC Suite将西门子PLC数据存储到Oracle数据库中
猜你喜欢

射频内容学习

云盒子联合深信服,为南京一中打造智慧双模教学资源分享平台

华为软件测试笔试真题之变态逻辑推理题

Detailed explanation of redis persistence, master-slave and sentry architecture

Vs+qt project transferred to QT Creator

Day_ 11 smart communication health project - graphic report and poi Report

How to query fields separated by commas in MySQL as query criteria - find_ in_ Set() function
百度URL参数之LINK?URL参数加密解密研究(代码实例)

(1) Basic learning - Common shortcut commands of vim editor

c#数据库报错问题大家帮我看看吧
随机推荐
Give up Visio, this drawing tool is really fragrant!
设计师需要懂的数据指标与数据分析模型
haas506 2.0开发教程-高级组件库-modem.voiceCall(仅支持2.2以上版本)
Microsoft interview question: creases in origami printing
sklearn sklearn中的模型调参利器 gridSearchCV(网格搜索)
haas506 2.0開發教程-高級組件庫-modem.sms(僅支持2.2以上版本)
Day_13 傳智健康項目-第13章
Day_ 07 smart communication health project FreeMarker
Sklearn classification in sklearn_ Report & accuracy / recall /f1 value
Day_ 03 smart communication health project - appointment management - inspection team management
Softing dataFEED OPC Suite将西门子PLC数据存储到Oracle数据库中
解读创客教育中的团结协作精神
Day_04 传智健康项目-预约管理-套餐管理
熟练利用切片操作
haas506 2.0开发教程-sntp(仅支持2.2以上版本)
Remove the influence of firewall and virtual machine on live555 startup IP address
C语言去除字符串尾部的换行(或其他字符)
图解 Google V8 # 17:消息队列:V8是怎么实现回调函数的?
Qt使用多线程编译项目的方法
百度URL參數之LINK?URL參數加密解密研究(代碼實例)