使用Arduino IDE烧录ESP32的时候,IDE会提示在60秒(好像是)内要按下板载BOOT键,否则就出现…___连串等待,超时报错,结束。
这个操作在Wemos D1 R32板上没有。Wemos D1 R32不但引脚分布要像Arduino UNO一样,包括操作也向UNO靠拢。下图中间的是ESP32S,右侧ESP32,都带有BOOT键,当烧录时,都有这个操作。
之所以需要按下BOOT键,看过乐鑫的ESP32文档会知道,ESP32有个量产工具,官方提供了,可以直接烧录其他固件,比如改成Micropython等等,BOOT是改变烧录时的GPIO电平,固件改变之后,再上电就直接执行固件里面的程序,固件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很厉害不?
因篇幅问题不能全部显示,请点此查看更多更全内容