ESP8266 常见固件烧写失败原因和解决方法

2023-05-16

简介

在使用 ESP8266 进行开发时, 读者或多或少都能遇到固件烧写失败情况, 无论是官方提供的 windows 上 Flash 下载工具, 还是 SDK 中提供的 esptool.py.
下面笔者提供几种常见的烧写失败的原因和对应解决方法.

原因一: ESP8266 不在 UART boot

请通过 UART0 查看 ESP8266 上电打印:

 ets Jan 8 2013,rst cause:1, boot mode:(1,n)

UART boot 对应 boot mode 第一参数为 1, 此值由 [GPIO15, GPIO0, GPIO2] 决定.
GPIO15GPIO0 低电平, GPIO2 高电平.
boot mode 第一参数不为 1, 即不在烧写模式, 将无法烧写成功.
更加详细说明参考: ESP8266 基础篇: 启动时 rst cause 和 boot mode

参考解决办法:
不同模组/不同开发板解决方法不一而足, 但万变不离其宗, 即确保:
GPIO15 和 GPIO0 低电平, GPIO2 高电平

例如: ESP-Launcher 开发板, 需将 IO0 开关拨到 L 侧, CH_EN 开关拨到 H 侧.
有些开发板需按住 BOOT 按钮不放, 再短按 RST 按钮松开, 再松开 BOOT 按钮.
而后续的 ESP8266-DevKitC 则无需用户关心此问题.

原因二: 供压问题

常见供压问题如下:

  • 供压不稳
  • 供压过高
  • 供压不足

参考解决办法:
即最终确保模组 VCC(3V3) 和 GND 电压稳定在 3.3V.
通常可以使用独立供电的 HUB 来确保供压问题.

原因三: 串口配置错误

某些读者刚入门 Linux 或对 Windows /MacOS了解不深, 可能未配置对串口就开始烧写, 而导致烧写失败.通常, 开发板或模组通过 USB 插到 PC 上, 不同平台对应不同烧写口, 可以使用如下命令查看:

  • Linux: ls /dev/ttyUSB*
  • MacOS: ls /dev/tty.*
  • Windows: 计算机 -> 管理 -> 设备管理器 -> 端口 (COM 和 LPT)

参考解决办法:
LinuxMacOS 用户:

  • 通过在 make menuconfig -> Serial flasher config -> Default serial port 中配置对烧写口, 重新编译烧写.

Windows 用户:

  • Flash 下载工具 中通过 COM 口配置

原因四: 串口无写权限

某些读者可能通过虚拟机安装了 Linux 系统或 MacOS, 或某些权限管理较为严格的系统(某些公司管控 USB 设备), 经常串口无写权限, 需要用户手动去提升串口权限.

参考解决办法:

sudo chmod 777 /dev/ttyUSB*

其他非 Linux 平台类似.

原因五: 波特率配置过高

烧写速度受硬件影响, 在初步烧写失败情况下, 因降低烧写波特率.

参考解决办法:
make menuconfig -> Serial flasher config -> Default baud rate 配置为 115200
其他非 Linux 平台类似.

原因六: Flash SPI mode/speed 配置错误

ESP8266 芯片和固件本身支持: Flash SPI mode: QIO, QOUT, DIO, DOUT
ESP8266 芯片和固件本身支持 Flash SPI speed: 80MHz, 40MHz, 26.7MHz, 20MHz
但某些模组厂商, 基于 ESP8266 开发模组/开发板, 因成本或其他考虑, 未选型支持以上功能的 Flash, 导致某些读者使用此类型模组或开发板时需考虑此配置.

参考解决办法:
通常选择 QIO, 烧写失败时切换到 DIO, 切换方法:
make menuconfig -> Serial flasher config -> Flash SPI mode 切换 SPI mode
make menuconfig -> Serial flasher config -> Flash SPI speed 切换 SPI speed

其他非 Linux 平台类似.

原因七: 使用非官方烧写工具

某些读者可能基于其他公司的 第三方工具/IDE进行二次开发甚至更下游开发.
如遇到烧写失败情况, 也可能是 第三方工具/IDE 本身问题. 如下截图所示, 某博客写到:
在这里插入图片描述
初步来看, 应是第三方工具在烧写模式时, 未对 [GPIO15, GPIO0, GPIO2] 电平做出较为优雅的配置, 导致需重新插拔进行烧写.

参考解决办法:
建议使用官方提供的 windows 上 Flash 下载工具, 或 SDK 中提供的 make flash 进行烧写固件.

原因八: 模组 TX RX GND 接线错误

开发板通常不存在此类情况, 模组需考虑此种情况.

  • 模组接线错误: TX, RX, GND 未接到对应 RXD, TXD, GND 或其他接线错误

参考解决办法:
根据官方 datasheet 重新布线.

原因九: 其他原因

往往, 电脑或个人原因, 或多或少偶尔遇到一些奇怪的烧写错误原因, 这里记录一下, 供读者参考:

  • ESP8266 固件烧写到 ESP32

其他参考解决办法

  • 重启电脑
  • 换个 USB线/USB转TTL
  • 换个 模组/开发板
  • 使用官方 SDKrelease 版本进行烧写测试
  • 向我们提 issues
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESP8266 常见固件烧写失败原因和解决方法 的相关文章

  • [Linux基础]8. linux下脚本将pdf转各图片并合成长图

    34 你也有不看星星 34 1 将PDF的每一页转换为图片2 将转换后的多张图片合并为一张长图3 完整脚本 任务叙述 xff1a 已经有一个很长的pdf xff0c 要在linux上用脚本合成一张长图 xff0c 如果由程序完成将PDF转换
  • 【linux网络问题】,ping出现connect问题,知乎(ipv6)能通,百度ipv4通不了

    问题 今天遇到一个很奇怪的事情 xff0c 有线连接的ifconfig中没有ipv4的解析 xff0c 只有ipv6的解析系统是ubuntu20 04及以上nslookup 43 网址的时候发现能访问网络的都是被解析成ipv6的 xff0c
  • 制作树莓派SD卡备份镜像——树莓派系统备份与还原指南

    制作树苺派SD卡备份镜像 树苺派系统备份与还原指南 科技爱好者关注 0 1452016 05 28 22 12 33字数 501阅读 26 658 树莓派使用SD卡来安装系统 xff0c 如果SD卡丢失或者损坏 xff0c 那么树莓派上的数
  • ARM Cortex-M4和Cortex-M0+中断优先级及嵌套抢占问题

    转自 xff1a http blog chinaaet com jihceng0622 p 5100001238 坐在上海回北京的高铁上 xff0c 漫长的旅途着实让人感到无聊 xff08 没买到直达的高铁 xff0c 只能慢悠悠的走一站停
  • 基于MFC的简易TCP/IP调试助手开发

    在学习TCP IP通讯过程中 xff0c 打算参考网上的教程写一个简易的调试助手 xff0c 服务器与客户端分别参考以下两位代码完成 xff0c 效果图如下 1 如何基于TCP IP协议进行MFC Socket网络通讯编程 Ezreal z
  • 下载的软件包保存在缓存中,直到下次成功执行事务。 您可以通过执行 'dnf clean packages' 删除软件包缓存。 错误:事务检查错误

    下载的软件包保存在缓存中 xff0c 直到下次成功执行事务 您可以通过执行 dnf clean packages 删除软件包缓存 错误 xff1a 事务检查错误 使用yum安装时出现了这个错误 xff0c 更新一下 sudo yum upd
  • @SpringBootApplication注解无效

    64 SpringBootApplication注解无效 import或clone下来的项目idea打开后 64 SpringBootApplication注解无效 1 查看看maven依赖是否报红 xff0c 如果报红说明依赖有问题检查p
  • 修改docker容器中的配置文件

    容器创建好后有时需要进入容器修改配置 xff0c 发现没有vim 我们可以使用sed命令来修改配置文件 sed i 3s yes no a conf 将a conf中第3行中的yes修改为no sed i 3ayes 61 no a con
  • 最近开始研究openpilot的开源飞控,记录一下

    国内用这个飞控的人比较少 xff0c 也没有太多的文章来描述包括代码结构之类的 xff0c 其实该飞控相当强大 xff0c 而且有一个用QT做的很强悍的GCS xff0c 我用380的机架已经搭建了一个四轴 xff0c 用默认参数就能飞得很
  • 解决aria2下载磁力链接或bt文件时没有速度或速度为0

    使用aria2下载磁力链接和种子时 xff0c 发现长时间都没有速度 xff0c 因为默认的配置是没有加tracker列表的 xff0c 就像迅雷没有p2p共享一样 xff0c 所以要在配置文件中加入trackers xff0c 速度就会提
  • UDP 打洞 java demo

    UDP打洞的具体原理就不细说了文章还是很多 xff0c 说下我的网络环境 xff0c 家里台式电脑网线连的家里路由器 移动宽带 xff0c 公司台式电脑网线连的公司路由器 电信宽带 xff0c 一台有公网IP的华为云主机 xff08 我是试
  • 云服务器内存不够,设置swap交换分区

    购买了一台阿里的云服务器1核2G的 xff0c 装上docker后 xff0c 运行了十几个容器后面的容器就再也没法启动了 xff0c 一看物理内存为0 xff0c 加内存又没钱 xff0c 只能牺牲速度了 xff0c 阿里云的服务器默认是
  • sql 拼接一列数据为一个字段

    最近有个功能中需要把一列数据拼接成一个字段的需要 xff0c 本以为concat 轻松就能实现 xff0c 结果却差点意思 xff0c 这个是拼接一行之间的 xff0c group concat 需要分组才能拼接组内的一列数据 xff0c
  • idea反编译

    idea有自带的反编译插件java decompiler jar xff0c 默认是安装的 这个工具包在F Program Files JetBrains IntelliJ IDEA 2020 2 3 plugins java decomp
  • android远程协助

    一部手机有时候需要远程协助另一台手机如QQ的远程协助一样 xff0c 准备两个手机 下面用AB代替 1 A手机 xff08 需要被协助的手机 xff09 开启开发者选项 xff0c usb连接电脑 xff0c 命令开启ADB xff08 手
  • 阿里云服务器安装图形界面

    为了自动化流程安装图形界面 xff0c 我的服务器是Centos7 1 yum安装gnome图形界面 yum groupinstall GNOME Desktop y 2 安装远程桌面服务端 yum y install tigervnc s
  • 国网 内网U盘 服务未启动 驱动版本不符问题

    国网内网U盘问题处理 1 提示服务未启动 是因为Bios开启了Secure BOOT xff0c 将这个选项设置为disable就可以 xff0c 进入Bios这个选项有的主板在Boot选项下 xff0c 有的在Security选项下 xf
  • 【C++】面试题目,整理自牛客网

    来源 1 写出完整版的strcpy函数 char strcpy char strDest const char strSrc assert strDest 61 NULL amp amp strSrc 61 NULL char addres
  • 卡尔曼滤波

    系列文章目录 前言 一 线性高斯系统 二 卡尔曼滤波算法 1 卡尔曼滤波算法的应用 2 卡尔曼滤波的数学推导 1 预测部分的推导 2 观测部分的推导 前言 最近在阅读概率机器人这本书 xff0c 读到了卡尔曼滤波的相关内容 xff0c 想要
  • xcode升级到6.2,解决了simulator国际化无法获取中文的问题

    问题描述 xff1a http blog csdn net aileenyuxiao article details 42704917 xcode最近升级到6 2 xff0c 这个bug也一起解决了 xff0c 只需要修改simulator

随机推荐

  • 利用OOQP求解二次凸优化问题

    最近使用到了OOQP求解凸优化问题 xff0c 所以记录一下求解简单的二次凸优化问题 目录 一 OOQP安装 二 OOQP相关介绍 三 例题 1 数学例题 2 代码求解 3 求解结果 总结 一 OOQP安装 参考了浙大高飞老师团队提供的 O
  • 一、pixhawk 开发之 QGroundControl 安装

    提示 xff1a 地面站 xff08 QGroundControl xff09 安装 一 注意事项 1 There are known video steaming issues on Ubuntu 18 04 systems with d
  • git bash可以正常commit,但是 VSCode 里不能正常commit使用的解决方法

    问题描述 同一路径下的源码 xff0c 使用git bash可以正常commit xff0c 但是使用vscode提交commit就会一直卡住 xff0c 转圈圈 参考方案链接 xff1a VS CODE GIT 500 问题处理 pudn
  • Windows和Linux双系统安装教程

    最近刚刚完成了Windows和Linux双系统 xff08 这里以Ubuntu安装为例 xff09 的安装 xff0c 应某奔同学要求 xff0c 这里简单记录下安装过程 系统启动盘准备Windows系统安装分出给Linux系统的磁盘空间安
  • Level5#Unit1#Part1#Dialogue#A-Customer-Complaint

    Is this the ACE service center Yes it is sir May I help you Yes I 39 m calling to complain about your service Certainly
  • Level5#Unit1#Part2#Listening#At-Jessica’s-Reunion-Party1

    Jessica 39 s 20 year classreunion was held at a fancy hotel When she arrived she wasn 39 t sure she was in the right pla
  • Level5#Unit2#Part1#Dialogue#The-Teenage-Years

    What 39 s so funny What are you writing about I 39 m writing about something I saw earlier this morning Really Do you ke
  • nginx环境wordpress 固定链接实现…

    开始几次设置wordpress的固定链接都没成功 xff0c 今天做松子价格网时不甘心 xff0c 试了几次OK了 其实nginx环境下设置wordpress固定链接 xff08 也叫伪静态 xff09 非常简单 xff08 我是用的是wo
  • 如何使用vb.net多线程

    可能一些小程序用不上 xff0c 单线程就可以完成 xff0c 但是很多程序往往需要多个线程同时操作 xff0c 或者用辅助线程来完成主线程的工作 xff0c 多线程对于一个程序员来说是一个必须逾越的槛 最近在写一个程序 xff0c 设备要
  • 准备自己做块飞控,先看看方案

    主要参考是CC3D和crazyflie 2 0 xff0c 双CPU xff1a STM32F405RG xff0c 和STM32F103相比 xff0c 支持浮点运算 xff0c 168MHz xff0c 片上存储空间大 xff0c 考虑
  • 转:如何获取某人的所在物理位置

    如何获取某人的所在物理位置 xff1f xff08 andorid手机GPS 基站定位 JSON获取基站定位信息 xff09 原文地址 xff1a http cyad blog 163 com blog static 54368792011
  • Excel“工程不可查看”及VBA工程密码…

    一 Excel 工程不可查看 两种实现方法及破解 关于Excel宏编程中 xff0c 要用到一些技巧 xff0c 如破解Excel宏加密 今天我对一个Excel宏编程中进行日期限制进行了破解 方法一 xff08 共用级锁定 xff09 1
  • vba给数组赋值

    39 向VBA数组中写入数据 39 1 按编号 标 写入和读取 Sub t1 39 写入一维数组 Dim x As Integer Dim arr 1 To 10 arr 2 61 190 arr 10 61 5 End Sub
  • 中兴光猫配置文件获取方法

    中兴光猫配置文件获取方法 http 192 168 1 1 manager dev config t gch 有些配置文件加密了 xff0c 还不好破解 网上有超级牛帖子 xff0c 不过想在好像web shell也关闭了 http www
  • wget下载百度网盘文件

    分享一下wget下载百度网盘文件 有些时候需要从网盘下比较大文件 xff0c 但是linux无法登陆百度网盘 xff08 当然如果使用了API xff09 可以获取下载链接 这里介绍简单的方法 xff0c 直接在百度网盘分享建立公共链接 然
  • sudo aptitude install…

    sudo aptitude install 这个方法可以解决破损包问题 Aptitude will give up less easily and will attempt to find solutions which may invol
  • centos 万兆网卡使用要点

    随着宽带技术的快速发展 xff0c 服务器使用万兆网卡的概率越来越高 最近装了几台服务器都用的万兆网卡 xff0c 为了图便宜 xff0c 网卡和模块都是淘宝上买的 xff0c 这部还真遇到不少问题 我的服务器都是centos6 4 64位
  • 实在受不了360流氓浏览器用了10年终于不用了

    360浏览器 xff0c 恶心广告 xff0c 垃圾软文越来越泛滥了 xff0c 实在让人受不了 用了近10年终于下决心抛弃了 大家看下恶心不 xff0c 天天都是这个
  • ESP-AT 系列: AT+MQTT 使用

    AT 工程 xff1a https github com espressif esp at AT 文档 xff1a https docs espressif com projects esp at zh CN latest MQTT AT
  • ESP8266 常见固件烧写失败原因和解决方法

    简介 在使用 ESP8266 进行开发时 读者或多或少都能遇到固件烧写失败情况 无论是官方提供的 windows 上 Flash 下载工具 还是 SDK 中提供的 esptool py 下面笔者提供几种常见的烧写失败的原因和对应解决方法 原