【云隐课堂】ESP8266的烧录说明(ESP_DOWNLOAD_TOOL使用指导)

2024-01-07 12:30

本文主要是介绍【云隐课堂】ESP8266的烧录说明(ESP_DOWNLOAD_TOOL使用指导),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

  1. 首先确保模组可以正常运行工作,发送 AT 指令可以有回复 AT OK(即确保电源和串口连接正常);
如何确保 ESP8266 模组正确的进入了下载模式:

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

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

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

可参考如下电路:

烧录时的配置选项与编译时的配置是相关的, 编译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 0x0 地址即可

erase_flash_bins.7z

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


云隐课堂:专注打造中国最权威的物联网智能硬件产品级技术共享教学平台。


这篇关于【云隐课堂】ESP8266的烧录说明(ESP_DOWNLOAD_TOOL使用指导)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579920

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi