前言

开发环境搭起来了,接着这篇笔记就要实现程序的烧写。

非著名情感博主 IoT小能手 twowinter,耗费数月心血,编著长篇言情小说《和ESP8266 Arduino谈场恋爱》,为广大技术宅男传授深度撩妹技巧。是时候了,关掉屏幕上的波多野结衣,跟着小能手的脚步,去找寻爱的真谛。

一、烧写方式

ESP8266是通过串口 boot 来烧写,两年前玩 ESP8266 时就接触过,ESP8266学习笔记1:如何在安信可全功能测试板上实现ESP-01的编译下载和调试。

烧写前必须要将GPIO0拉低,复位模块才行。

可奇怪的是,我手头玩的是WEMOS D1 开发板,没想到直接在 Arduino IDE上点击 “Upload” 就把程序烧录进去了,甚至都不用复位模块。

都说 Arduino 开发方式很傻瓜化,可没想居然傻到这程度,哦,不傻,方便到本能手都要哭出来了。

二、为什么某些开发板可以直接用IDE Upload

2.1 esptool的解释

Esp8266 for Arduino 的烧写工具是集成了 esptool,esptool 的 github 有详细的解释。

## Entering the BootloaderBoth ESP8266 and ESP32 have to be reset in a certain way in order to launch the serial bootloader.On some development boards (including NodeMCU, WeMOS, HUZZAH Feather, Core Board, ESP32-WROVER-KIT), esptool.py can automatically trigger a reset into the serial bootloader - in which case you don't need to read this section.For everyone else, three things must happen to enter the serial bootloader - a reset, required pins set correctly, and GPIO0 pulled low:### Boot ModeBoth ESP8266 and ESP32 chooses the boot mode each time it resets. A reset event can happen in one of several ways:* Power applied to chip.
* The nRESET pin was low and is pulled high (on ESP8266 only).
* The CH_PD/EN pin ("enable") pin was low and is pulled high.On ESP8266, both the nRESET and CH_PD pins must be pulled high for the chip to start operating.For more details on selecting the boot mode, see the following Wiki pages:* [ESP8266 Boot Mode Selection](https://github.com/espressif/esptool/wiki/ESP8266-Boot-Mode-Selection)
* [ESP32 Boot Mode Selection](https://github.com/espressif/esptool/wiki/ESP32-Boot-Mode-Selection)

2.2 twowinter的解释

原来不是所有的板子都能这样神奇地烧写,NodeMCU, WeMOS, HUZZAH Feather, Core Board, ESP32-WROVER-KIT,这几款是可以。其他的板子还是得老老实实地去手动对GPIO0拉低且复位模块。

找出 WeMOS 的原理图确认了下,原来是 复位脚 和 GPIO0 其实都有串口芯片的流控脚连接着。

这样就解释通了,esptool在烧写时通过流控脚对ESP8266做了复位和拉低IO0的操作,这样就可以直接烧写了。

三、其他无流控板子的升级

再找出了原来的旧板子,它是用拨码开关将GPIO0给拉低的。

IDE上点击“Upload”后,会在串口等几秒钟,这期间对旧板子上电,就可以顺利地进行烧写了。

四、总结

现在想起来,本尊其实之前也接触过相同的操作,JN516X系列的开发板就是这样设计的。NXP的IDE工具在烧写JN516X时直接操作了流控脚控制了某些IO。

利用底板USB转串口芯片的流控脚去控制一些烧写时必要的IO,这种实现方式让烧写过程变得特别特别畅快。

人们是这样,一旦你用过这Upload,如同感受到秋裤的温暖,也就回不去了。


和ESP8266 Arduino谈场恋爱 02 这神奇的程序烧写相关推荐

  1. 和ESP8266 Arduino谈场恋爱

    非著名情感博主 IoT小能手 twowinter,耗费数月心血,编著长篇言情小说<和ESP8266 Arduino谈场恋爱>,为广大技术宅男传授深度撩妹技巧.是时候了,关掉屏幕上的波多野结 ...

  2. 和ESP8266 Arduino谈场恋爱 03 玩几个例程

    前言 开发环境搭起来,找几个例程玩起来. 非著名情感博主 IoT小能手 twowinter,耗费数月心血,编著长篇言情小说<和ESP8266 Arduino谈场恋爱>,为广大技术宅男传授深 ...

  3. 和ESP8266 Arduino谈场恋爱 01 一条具有中国特色的开发环境安装道路

    前言 废话不多说,环境先搞起来. 非著名情感博主 IoT小能手 twowinter,耗费数月心血,编著长篇言情小说<和ESP8266 Arduino谈场恋爱>,为广大技术宅男传授深度撩妹技 ...

  4. 来和 webpack 谈场恋爱吧!这课程好甜!

    先来看看这课程名-- 再来看看这充满恋爱气息的的课程封面-- 分步骤教你如何和你的对象--webpack 谈恋爱 ↓↓↓ 啥是 webpack? webpack 是实现前端工程化的一个重要工具,一些公 ...

  5. ESP8266学习笔记(1)——搭建环境、编译烧写(NONOS SDK)

    RTOS SDK环境搭建参看 ESP8266学习笔记(17)--搭建环境.编译烧写(RTOS SDK) 一.搭建环境 1.1 ESP8266 SDK 入门指南 官网下载:https://www.esp ...

  6. Arduino框架下STM32F1/F4系列HID模式程序烧录教程

    Arduino框架下STM32F1/F4系列HID模式程序烧录教程 相关篇<Arduino框架下STM32全系列开发固件安装指南> HID BootLoader烧录模式 "Upl ...

  7. 用Arduino板为另一块Arduino烧写(更新)BootLoader

    手上有两块几年前买的arduino nano板子,这两天要用的时候发现用arduino IDE 1.8.11烧写的时候始终报错"上传失败".查阅相关资料发现应该在 IDE–工具–处 ...

  8. ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)

    ESP8266 入门:使用机智云快速实现开关与 adc 接口的电压测量(包含固件烧写教程) 0. 需要准备的材料 硬件部分: 软件部分: 1.机智云的账号注册与 SOC 方案创建 2.对下载的机智云代 ...

  9. 使用USBasp 通过ICSP模式给arduino UNO烧写程序

    使用USBasp通过ICSP模式给arduino UNO烧写程序 ICSP端口 像Arduino UNO的ICSP(在线串行编程)端口位置,在尾部中间有一个6Pin的插针接口,如下图所示: USBas ...

最新文章

  1. Android分级部门选择界面(二)
  2. 计算机科学中最重要的32个算法zz
  3. go get安装第三方包的前提条件和步骤
  4. 文献记录(part7)--An Improved Biclustering Algorithm and Its Application to Gene Expression ...
  5. jqgrid mvc_jqGrid,REST,AJAX和Spring MVC集成
  6. 如何正确实现 Java 中的 HashCode
  7. UIKeyboard键盘相关知识点
  8. 四元数插值方法Slerp/Squad/Spicv/Sping知识总结思维导图
  9. 南山驿站机器人_fc机器人大战钢铁之魂攻略
  10. UAC遭禁用?UAC知识了解
  11. PAT-两个数的简单计算器(简单编程题)
  12. 数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)
  13. fail2ban原理与安装(centos6)
  14. 装饰及家具设计的主要材料
  15. 移动硬盘插入提示需要格式化RAW_为什么U盘插电脑上提示需要格式化?想让资料不丢失,这样就可以...
  16. 易语言简单易学,为何无人问津,国产编译语言究竟怎么样?小编带你看
  17. HTML5期末大作业:动漫网站设计——斗破苍穹动漫(6页)带轮播特效 HTML+CSS+JavaScript 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品
  18. 如何了解上层管理者?
  19. 学计算机的要起一个群名,微信群名字大全 一起走过的日子
  20. 如何管理好自己的文件资料

热门文章

  1. 无需客户端下载的方法/天翼云网页下载方法
  2. 520用计算机二进制怎么表示,520用数学公式怎么表达
  3. 试讲教案模板 计算机 网络,试讲教案模板,网络技术.doc
  4. 数据库设计------(数据库设计基本概念)、需求分析(数据字典)
  5. element 表格自定义斑马纹颜色
  6. 如何合理的定义用户流失——流失多少天算流失
  7. 三分法解决凸(凹)函数极值问题​​​​​​​
  8. python调用海康相机进行Apriltag检测
  9. 计算机大三了只会python可以去名企实习吗?如何找python实习
  10. 游戏里的打折促销和低廉价格