ESP-01S刷固件ESP8266_NonOS_AT_Bin_V1.7.5_1 笔记240510

ESP-01S刷固件ESP8266_NonOS_AT_Bin_V1.7.5_1 笔记240510

固件下载地址

ESP-AT固件页面: https://www.espressif.com.cn/zh-hans/products/sdks/esp-at/resource

直接下载ESP8266 NonOS AT Bin V1.7.5.zip: https://www.espressif.com.cn/sites/default/files/ap/ESP8266_NonOS_AT_Bin_V1.7.5_1.zip


烧录工具下载地址

Flash 下载工具 tools/flash_download_tool_3.9.6_2.zip 平台Windows PC V3.9.6 2024年04月11日

刷前状态

原先的固件是1.74版本
输入: AT+GMR 可看到

AT+GMR
AT version:1.7.4.0(Jul  8 2020 15:53:04)
SDK version:3.0.5-dev(52383f9)
compile time:Aug 28 2020 14:37:33
OK

输入: AT+RST 可看到原先的

  • SPI Speed : 40MHz
  • SPI Mode : DOUT
AT+RSTOKets Jan  8 2013,rst cause:2, boot mode:(3,7)load 0x40100000, len 2592, room 16 
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8 
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4 
tail 0
chksum 0x22
csum 0x222nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DOUT
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000?$`{?lph?勩?僩鞉;名'|?刣?;$#??<s?l渘???l`你;???l`你;?鋎?l`你;?沁?l$`{d弮{$屵隳#淠b?ss茔?c;撵炷渱c潲'鐎gg??髉??$膸€?d?$?o?臑銊cddl噰c倪銓cd宑;$;$
Ai-Thinker Technology Co. Ltd.ready

开始烧录

在这里插入图片描述

一开始勾选了 “DoNotChgBin”, 刷不成功, 后来取消勾选就刷成功了

DoNotChgBin:

  • 若使能,则按照 bin 文件原始内容烧录。
  • 若不使能,按照界面的 SPI SPEED、SPI MODE 配置更新并烧录。

CombineBin 按钮:

  • 可将 Download Path Config 中选中的多个固件打包成一个固件。若使能 DoNotChgBin,则按原始固件打包。若不使能DoNotChgBin,则按界面 SPI SPEED、SPI MODE 配置打包固件。固件之间非数据区,会以 0xff 进行填充。打包的固件将保存为 ./combine/target.bin,每次点击覆盖前次

关于固件地址

\bin\boot_v1.7.bin : 0x00000

0x00000

\bin\at\512+512\user1.1024.new.2.bin : 0x01000

0x01000

\bin\esp_init_data_default_v08.bin : 0xfc000

0xfc000

\bin\blank.bin : 0x7e000

0x7e000

\bin\blank.bin : 0xfe000

0xfe000

\bin\at\512+512\user2.1024.new.2.bin : 0x81000

0x81000




烧录软件 ESP8266 FLASH DOWNLOAD TOOL V3.9.6 的配置选项

SPI MODE : QIO, QOUT, DIO, DOUT, FASTRD

先了解 SPI 的扩展: QSPI 和 DSPI

  • QSPI是Quad SPI的简写,表示6线spi,是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。

  • DSPI是Dual SPI的简写,表示4线spi,也是Motorola公司推出的SPI接口的扩展,

在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,推出了队列串行外围接口协议(即QSPI协议)。



SPI模式: QIO、QOUT、DIO和DOUT是指Flash存储器(如SPI Flash)在不同模式下的工作状态。

QIO(Quad Input Output)模式:在QIO模式下,Flash存储器可以同时进行四位输入输出,主要用于快速读取和写入数据。

QOUT(Quad Output)模式:在QOUT模式下,Flash存储器作为输出设备,可以向外输出数据,但不接受外部的数据输入。

DIO(Double Input Output)模式:在DIO模式下,Flash存储器可以进行双位输入输出,这种模式通常用于较慢的SPI设备,或者在QIO模式不可用时作为替代。

DOUT(Output)模式:在DOUT模式下,Flash存储器作为输出设备,可以向外输出数据,但不接受外部的数据输入。

这些模式通常在Flash存储器的驱动设置中配置,不同的模式可能会影响读写速度和兼容性。在实际应用中,需要根据具体的硬件和软件要求选择合适的模式。



SPI模式是指在SPI总线上数据是如何在时钟信号的正反向传输时被采样和输出的。QIO, QOUT, DIO, DOUT, 和FASTRD是指ESP8266的SPI Flash模式。

QIO (Quad Input Output)模式: 是一种8位双向SPI模式,适用于快速读取和程序下载。

QOUT (Quad Output)模式: 是一种8位单向SPI模式,仅用于Flash写入。

DIO (Double Input Output)模式: 是一种16位双向SPI模式,比QIO模式更慢,但对于某些SPI设备可能更兼容。

DOUT (Output)模式: 是一种16位单向SPI模式,仅用于Flash写入。

FASTRD (Fast Read)模式: 是一种8位双向SPI模式,比QIO模式更慢,但对于某些SPI设备可能更兼容。

在ESP8266中,这些模式可以通过以下方式设置:

// 设置SPI Flash模式
SpiFlash.setSpiMode(SpiMode_QIO);
SpiFlash.setSpiMode(SpiMode_QOUT);
SpiFlash.setSpiMode(SpiMode_DIO);
SpiFlash.setSpiMode(SpiMode_DOUT);
SpiFlash.setSpiMode(SpiMode_FASTRD);

请注意,这些模式可能会影响SPI设备的性能,并且某些模式可能不适用于所有SPI设备。在配置SPI模式时,请参考您的设备的数据表以确定最佳模式。




SPI_FLASH_SLOWRD 标准SPI,对时钟速度有限制(速率较慢)
SPI_FLASH_FASTRD 标准SPI
SPI_FLASH_DOUT 双线SPI(Dual SPI)只在数据阶段使用两根数据线通信
SPI_FLASH_DIO 双线SPI(Dual SPI)地址、数据阶段都使用两根数据线通信
SPI_FLASH_QOUT 四线SPI(Qual SPI)只在数据阶段使用四根数据线通信
SPI_FLASH_QIO 四线SPI(Qual SPI)地址、数据阶段使用四根数据线通信
SPI_FLASH_OPI_STR 四线SPI(Qual SPI)命令、地址、数据阶段(所有阶段)都使用四根数据线通信,并且一个时钟传输一位
SPI_FLASH_OPI_DTR 四线SPI(Qual SPI)命令、地址、数据阶段(所有阶段)都使用四根数据线通信,并且一个时钟传输两位




DoNotChgBin:

  • 若使能,则按照 bin 文件原始内容烧录。
  • 若不使能,按照界面的 SPI SPEED、SPI MODE 配置更新并烧录。

CombineBin 按钮:

  • 可将 Download Path Config 中选中的多个固件打包成一个固件。若使能 DoNotChgBin,则按原始固件打包。若不使能DoNotChgBin,则按界面 SPI SPEED、SPI MODE 配置打包固件。固件之间非数据区,会以 0xff 进行填充。打包的固件将保存为 ./combine/target.bin,每次点击覆盖前次




一些链接

安信可科技 https://www.ai-thinker.com/home

安信可科技 ESP8266系列模组专题 https://docs.ai-thinker.com/esp8266

安信可科技 ESP8266系列平时开发工具汇总:https://docs.ai-thinker.com/tools

安信可科技 AT固件汇总页面 : https://docs.ai-thinker.com/固件汇总

安信可科技 官方应用手册 https://docs.ai-thinker.com/官方手册资料2

乐鑫科技 Espressif 官网 https://www.espressif.com.cn

乐鑫科技 Espressif 官网 中文 https://www.espressif.com.cn/zh-hans/home

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690558.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哈希表(unordered_set、unordered_map)

文章目录 一、unordered_set、unordered_map的介绍二、哈希表的建立方法2.1闭散列2.2开散列&#xff08;哈希桶/拉链法&#xff09; 三、闭散列代码&#xff08;除留余数法&#xff09;四、开散列代码&#xff08;拉链法/哈希桶&#xff09; 一、unordered_set、unordered_map的…

翻译/润色找哪里比较专业,机构怎么选?

英文专业术语多&#xff0c;润色是很有必要的&#xff0c;大家可以选择专业的文章翻译润色服务&#xff0c;一定要挑选好正规的机构&#xff0c;这样的机构在出版过程中会为作者提供多项支持&#xff0c;对顺利发表是有帮助的。 科研领域英文论文专业润色包含这些内容&#xff…

【字符函数与字符串函数】

文章目录 一、strlen函数1.strlen函数的使用2.strlen函数的模拟实现(1)计算器办法(2)不创建临时变量计数器(3)指针 二、strcpy函数1、strcpy函数的使用2、strcpy函数的模拟实现 三、strcat函数1、strcat函数的使用2、strcat模拟实现3、字符串自己给自己追加&#xff1f; 四、st…

itextpdf 7生成pdf(主要是文字和表格,支持中文)

我们经常会遇到要导出pdf的需求,方式有很多种 今天的教程是采用itextpdf的方式生成pdf itextpdf是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF文档&#xff0c;而且可以将Html文件转化为PDF文件。 这里先展示一下效果图 首先在pom.xml中引入相关依赖 <dep…

C语言实现猜数字小游戏

1.随机数生成 要想实现猜数字小游戏&#xff0c;依赖于随机数的生成 1.1 rand()函数 这个函数是用来生成随机数的&#xff0c;返回值是正整数&#xff0c;他的值的范围是0到rand_max之间的&#xff0c;rand_max的值在大多数编译器上面是32767&#xff0c;rand()函数的使用必…

【算法】动态规划之背包DP问题(2024.5.11)

前言&#xff1a; 本系列是学习了董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 动态规划系列 【算法】动态规划之线性DP问题-CSDN博客 01背包 步骤&#xff1a; 分析容量j与w[i]的关系&#xff0c;然后分析是否要放…

全新神经网络架构KAN——本文用于学习与探索

论文地址&#xff1a;https://arxiv.org/pdf/2404.19756 Github&#xff1a;GitHub - KindXiaoming/pykan: Kolmogorov Arnold Networks 文档说明&#xff1a;Welcome to Kolmogorov Arnold Network (KAN) documentation! — Kolmogorov Arnold Network documentation 本文仅…

SQLite性能测试(插入)

最近一直在思考一个问题&#xff0c;SQLite 做到这么轻量级&#xff0c;那它注定不会像 MySql 一样强性能&#xff0c;那么它的性能怎么样呢&#xff1f;并发量多高呢&#xff1f; 官方解释&#xff1a; About SQLite 最大数据库大小&#xff1a;281TB 最大行大小&#xff1…

【C语言题解】输入n(1~9),再输入n个长度不超过50的字符串,给这n个字符串排序并输出它们

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f308;感谢大家的阅读、点赞、收藏和关注 解题思路&#xff1a; 首先&#xff1a;使用一个二维字符数组来存储输入的字符串。由于n的范围是1到9&#xff0c;我们可以直接定义一…

进程间通信:连接不同程序世界的桥梁

目录 一、进程间通信的重要性 二、常见的进程间通信方式 三、进程间通信的目的 四、进程间通信的本质 在计算机编程的领域中&#xff0c;进程间通信&#xff08;Inter-Process Communication&#xff0c;IPC&#xff09;是一个至关重要的概念。当我们在操作系统中运行多个程…

Golang | Leetcode Golang题解之第83题删除排序链表中的重复元素

题目&#xff1a; 题解&#xff1a; func deleteDuplicates(head *ListNode) *ListNode {if head nil {return nil}cur : headfor cur.Next ! nil {if cur.Val cur.Next.Val {cur.Next cur.Next.Next} else {cur cur.Next}}return head }

基于Python+Django+MySQL实现Web版的增删改查

Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能&#xff0c;旨在快速入门Python Web。 开发环境 开发工具&#xff1a;Pycharm 2020.1开发语言&#xff1a;Python 3.8.0Web框架&#xff1a;Django 3.0.6数据库&#xff1a;…