注:针对转载的主要修改为:本处使用的是ESP8266-12F 32Mbit模块

ESP FLASH TOOL 是 Espressif 官方开发的烧录工具,用户可根据实际的编译方式和Flash的容量,将SDK编译生成的多个bin文件一键烧录到 ESP8266/ESP32 的SPI Flash中。

ESP FLASH TOOL 的官方下载地址为: http://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.4.9.2_1.zip

若上面版本下载失败请尝试使用旧版本工具: flash_download_tools_v2.4_150924.rar

烧写工具说明 http://bbs.espressif.com/viewtopic.php?f=5&t=433

硬件连接

ESP8266有运行模式、下载模式、测试模式的区别,进入下载模式可参考以下配置:

模式 CH_PD(EN) RST GPIO15 GPIO0 GPIO2 TXD0
UART 下载模式
Flash 运行模式
Chip 测试模式 - - - - -

  1. 首先确保模组可以正常运行工作,发送 AT 指令可以有回复 AT OK(即确保电源和串口连接正常);

  2. 拉低 GPIO0,打开串口工具,在波特率74880下观察模组的启动或复位后的打印信息;

  3. 若出现以下红色字符则认为模组已经进入了下载模式(后面的7数值不用理会),可以去正常进行下载。

    ets Jan 8 2014,rst cause 1, boot mode:(1,7)

可参考如下电路:

ESP8266 Flash 地址配置

烧录时的配置选项与编译时的配置是相关的, 编译SDK时,控制台会提示bin文件的烧录地址,配置不同,烧录的地址和需要的文件也不同

我们按照烧录文件的不同分为两种情况: 支持云端升级 和 不支持云端升级

另外,根据flash容量的不同,我们还要调整bin文件烧录的地址

支持云端升级的固件,在 flash 中会分为 2 个区,一个用来运行程序,一个用来保存升级固件, 当运行 user1 时升级,程序会下载固件到 user2,下载完毕后,下次启动时从 user2 启动,依次替换,实现云端升级。

user2 仅用作升级使用,用户烧录时无需下载 user2.bin,此处仅为说明 user2 的存放位置

注意1:乐鑫在不同版本的 SDK 中有可能会改变这些烧录位置,以下说明仅为参考,建议以开发时的 Console 输出信息为准。

注意2:合并后的固件内已经包含了地址信息,只需烧写到 0x0 地址即可。

不支持云端升级 (NoBoot 模式)

文件名称 8Mbit 地址分配 16Mbit 地址分配 32Mbit 地址分配 备注
eagle.flash.bin 0x00000 0x00000 0x00000 主程序,由代码编译生成
eagle.irom0text.bin 0x40000 0x40000 0x40000 主程序,由代码编译生成
esp_init_data_default.bin 0xFC000 0x1FC000 0x3FC000 由乐鑫在 SDK 中提供
blank.bin 0xFE000 0x1FE000 0x3FE000 由乐鑫在 SDK 中提供

支持云端升级 (Boot 模式)

文件名称 8Mbit 地址分配 16Mbit 地址分配 32Mbit 地址分配 备注
boot.bin 0x00000 0x00000 0x00000 由乐鑫在 SDK 中提供,建议一直使用最新版本
user1.bin 0x01000 0x01000 0x01000 主程序,由代码编译生成
user2.bin 0x81000 0x81000 0x81000 主程序,由代码编译生成
esp_init_data_default.bin 0xFC000 0x1FC000 0x3FC000 由乐鑫在 SDK 中提供
blank.bin 0xFE000 0x1FE000 0x3FE000 由乐鑫在 SDK 中提供

不支持OTA

默认生成 bootloader.bin、app_demo.bin、partitions_singleapp.bin

bin 文件 烧录地址 说明
bootloader.bin 0x1000 二级boot程序,由 SDK 代码编译生成
app_demo.bin 0x10000 用户主程序,由代码编译生成
partitions_singleapp.bin 0x4000 分区信息,由代码自动生成

支持OTA

自定义

参考 https://github.com/espressif/esp-idf/blob/master/docs/partition-tables.rst

烧录下载

说明:

*切记将模组按以上电路接线完成后,再上电。

*保证3.3V 电源供应,一般要求外部电源输出电流需在 500mA 及以上。

1、打开ESP FLASH TOOL,根据上一章节配置bin文件和烧录地址

2、需配置晶振频率、SPI SPEED、SPI MODE、Flash Size、串口端口号和波特率等,此处波特率可以尽量选大一些,以节省时间,若提示ERROR,请降低波特率

在此以 32Mbit Flash为例:

3、配置完毕后,再给模块上电,使其进入下载模式,再点击【START】开始烧录,直到烧录完成。

4、下载完成后:

* 请将 ESP8266 的 boot 模式切换到 flash boot,即 GPIO15→0, GPIO0→1, GPIO2→1。

* 可通过串口调试工具查看 log 打印或进行串口指令交互。

如何合并固件

如何擦除整片 Flash

使用下面的文件烧写到Flash 0x0 地址即可

erase_flash_bins.7z

结束

若以上步骤执行中未提示错误,则烧写成功。

安信可官方esp8266固件写入程序相关推荐

  1. 安信可分享 | 分享一个基于airkiss协议的配网小程序,实现小程序一键配网安信可ESP32C3\ESP8266\ESP32\ESP32S2系列的模组。(附带源码)

    文章目录 一.关于 WeChatAirkiss 1.1 应用场景 二.airkiss 简介 三.开始使用 四.API说明 五.FAQ 六.开源微信物联网控制一览表 联系我们 一.关于 WeChatAi ...

  2. 安信可Ai-WB1系列固件烧录指导

    文章目录 前言 1 准备材料 2 硬件连接 3 烧录软件的使用 联系我们 前言 本文主要介绍如何使用Ai-WB1系列模组以及开发板更新固件烧录操作说明. 1 准备材料 AI-WB1系列模组或者开发板 ...

  3. 乐鑫esp8266学习rtos3.0笔记:仅1M flash 的安信可 ESP-01S 模块,如何二次开发?如何对其 OTA 远程升级固件!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个" ...

  4. 【AT指令使用】安信可ESP-12S/ESP32S模组AT固件应用之微信小程序热点配网OTA升级

    目录 前言 一.Web 服务配网 二.操作过程 1.烧录带有Web服务功能的AT固件 2.Web服务配网过程 2.1 ESP-12S/ESP32-S搭建Web服务器 2.2 微信小程序部分的操作 3. ...

  5. 【微信小程序控制硬件 第13篇】安信可B站直播学习总结,微信小程序MQTT远程控制ESP8266 NodeMCU,谈谈微信生态那些事;

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  6. 微信小程序控制硬件第17篇 : 腾讯连连小程序通过LLSync蓝牙协议控制安信可PB-02模组,无需网络实现蓝牙本地通讯。(附带源码)

    文章目录 前言 一.注册腾讯物联开发平台设备 新建项目 新建产品 创建数据模板 选择设备开发方式 交互开发配置 新建设备 二.设备端操作 硬件简介与连接 准备软件环境 工程目录 烧录步骤 三.腾讯连连 ...

  7. 【AT指令使用】安信可ESP-32-S3/ESP-32-C3系列模组AT固件应用之Web Captive portal功能

    目录 前言 一.Captive portal功能原理 二.操作过程 1.烧录带有Captive portal功能的AT固件 2.模组开启Captive portal功能操作过程 3.手机部分的操作过程 ...

  8. 安信可TB-02蓝牙模块AT透传固件的问题和解决(AT无反应)

    问题现象 购买的安信可官方TB02开发板AT指令正常,但是单独的TB-02模块则AT无反应.单独的模块也能够广播,也可以被手机蓝牙搜索到并建立连接,也可以透传. 问题解决过程 首先怀疑是串口通信硬件问 ...

  9. 【微信小程序控制硬件16 】 安信可 ESP32-S 开发板实现移植腾讯物联开发平台蓝牙 llsync 协议,实现一键蓝牙快速配网+远程控制。(附带源码)

    文章目录 一.前言 二.源码目录说明 三.编译指导 四.常见问题 五.开源微信物联网控制一览表 另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈! 微信物联 ...

最新文章

  1. nginx安装第三方模块echo
  2. 2012年寒假•青年基金【修改后发表】
  3. navicat mysql两张表建立联系_初识MySQL
  4. hive(4)——元数据概述
  5. 聊聊如何才能进大厂实习~
  6. jquery 设置style:display 其实很方便的哦
  7. Centos 7安装RabbitMQ 3.7.8版本(单机版)-不使用RPM
  8. java时间选择,JAVA中的日期和时间选择器
  9. 面试 其实就是短时间内展现出你最好的自我
  10. Android逆向之静态分析
  11. 传感器数据 数据库_丰富的数据,不良的数据:充分利用传感器
  12. 【网络安全】黑客攻防与入侵检测(练习题)
  13. asd f sdfsd f afsda fsdasC ASDF
  14. 我在国图读完的第一本书——《少有人走的路》
  15. python+django+动态生成word
  16. 普通链接与迅雷、旋风、快车链接相互转化的步骤
  17. 写商业计划书的十个要点
  18. 数字电位器程控可调电阻IC
  19. 数据库系统实践 IV 查询插入修改删除操作
  20. John密码破解工具

热门文章

  1. QTreeView使用总结1,一个简单示例
  2. VS code如何设置窗口字体大小
  3. linux 优化脚本 关闭服务器,linux服务器一键优化脚本
  4. 使用eNSP搭建的小型校园网
  5. 使用Python获取指定Windows凭证账户密码
  6. Mybatis查询的时间数据中包含T
  7. mysql 存储过程 compile_存储过程 | iMySQL | 老叶茶馆
  8. adb shell getevent
  9. matlab gui 画点,请教matlab GUI画图的问题
  10. 出现ClassNotFoundException问题