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

news2024/11/16 23:37:11

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+RST

OK

 ets 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 0x22

2nd 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.coloradmin.cn/o/1665458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

32.768kHz晶振的时间精度问题及其解决方法

32.768kHz晶振因其稳定性高、功耗低&#xff0c;被广泛应用于实时时钟(RTC)、计时电路及低功耗电子产品中。然而&#xff0c;在某些情况下&#xff0c;这些晶振可能出现时间偏差&#xff0c;影响设备正常工作。以下是可能导致32.768kHz晶振时间误差的原因及相应的解决策略。 温…

Snort规则编写

1&#xff09;TCP NULL端口扫描的特征&#xff1a; 扫描者发送一个TCP SYN包到目标主机的某个端口&#xff0c;但不设置任何TCP标志位&#xff08;即flag为NULL&#xff09;。 如果端口关闭&#xff0c;目标主机会回应一个RST&#xff08;复位&#xff09;和ACK&#xff08;确认…

数据结构之图——探索图论的奥秘

前言 在这篇文章中&#xff0c;我们一起来看看我们生活中都会用到&#xff0c;但却不那么熟悉的数据结构——图&#xff08;英语&#xff1a;graph&#xff09;。我们看下百科定义&#xff1a; 在计算机科学中&#xff0c;图&#xff08;英语&#xff1a;graph&#xff09;是一…

py黑帽子学习笔记_网络编程工具

tcp客户端 socket.AF_INET表示使用标准IPV4地址和主机名 SOCK_STREAM表示这是一个TCP客户端 udp客户端 udp无需连接&#xff0c;因此不需要client.connect这种代码 socket.SOCK_DGRAM是udp的 tcp服务端 server.listen(5)表示设置最大连接数为5 发现kill server后端口仍占用…

大模型微调之 在亚马逊AWS上实战LlaMA案例(九)

大模型微调之 在亚马逊AWS上实战LlaMA案例&#xff08;九&#xff09; 代码阅读 src/llama_recipes/inference/prompt_format_utils.py 这段代码是一个Python模块&#xff0c;它定义了几个类和模板&#xff0c;用于生成安全评估的提示文本。以下是对每一行代码的注释和提示词…

Datax数据采集

一、Datax介绍 官网&#xff1a; DataX/introduction.md at master alibaba/DataX GitHub DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。 DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、…

MySQL innodb_buffer_pool_size 相关常用语句

对于MySQL速度慢的问题&#xff0c;除了优化 SQL 以外&#xff0c;应该必须优先想到的即使 MySQL 数据库的 innodb_buffer_pool_size 配置问题。 一般来说&#xff0c;innodb_buffer_pool_size 的默认大小都是很小的&#xff0c;尤其是 win 下其默认大小更是只有离谱的 8M。Li…

2024 年最新本地、云服务器安装部署 miniconda 环境详细教程(更新中)

Anaconda 概述 Anaconda 是专门为了方便使用 Python 进行数据科学研究而建立的一组软件包&#xff0c;涵盖了数据科学领域常见的 Python 库&#xff0c;并且自带了专门用来解决软件环境依赖问题的 conda 包管理系统。主要是提供了包管理与环境管理的功能&#xff0c;可以很方便…

土壤墒情自动监测站—墒情异常数据报警提示

TH-TS600土壤墒情自动监测站通常配备有预警提示功能&#xff0c;用于在墒情出现异常情况时及时向用户发出警告。这一功能对于农业生产至关重要&#xff0c;因为它可以帮助农民或农田管理者及时发现土壤墒情的变化&#xff0c;并采取相应的措施来确保作物健康生长。 土壤墒情自动…

Excel实用技巧持续学习

1、Excel高效设置图标格式&#xff1a; 2、饼图可以统一设置数据标签在图外面&#xff01;&#xff01; 环形图不可以&#xff0c;但是可以中间手动加上白色圆形&#xff0c;将饼图变为圆环。 可以设置标签的文本显示&#xff1a; 3、饼图和环形图最好进行排序&#xff01;显得…

睿尔曼机械臂ROS控制

下载git工程 git clone https://github.com/RealManRobot/rm_robot.git安装配置 catkin build rm_msgs source devel/setup.bash catkin build source setup.bash这里注意&#xff0c;如果采用setup.sh多半不会成功&#xff0c;必须要source setup.bash文件&#xff0c;ros才…

云渲染动画300帧需要多久呢?瑞云渲染为你揭秘

在动画制作过程中&#xff0c;渲染的速度非常关键。对于一个项目需要渲染的300帧来说&#xff0c;由于硬件的限制&#xff0c;许多公司的设备可能无法快速完成这项任务。此时&#xff0c;借助云渲染服务的强大计算能力&#xff0c;可以显著减少完成时间&#xff0c;从而提速整个…

使用Python和akshare完成个股信息统计和实时记录

标题:使用Python和akshare完成个股信息统计和实时记录 在金融投资领域,实时获取和记录个股信息对于投资者至关重要。Python 作为一种强大的编程语言,在金融数据分析和处理方面有着广泛的应用。akshare 是一个专门用于获取金融数据的 Python 库,提供了丰富的金融数据接口,可…

抽空学学go

2024年5月9日11:14:24 学习go 看课8小时转职Golang工程师(如果你想低成本学习Go语言)_哔哩哔哩_bilibili 文档[8小时转职Golang工程师 (yuque.com)]( 1.安装go 2024年5月9日11:27:16 2.安装 vscode go配置环境 vs code配置go开发环境 (zhihu.com) vscode里面配置代理&…

Rust使用HashSet对Vec类型的元素进行去重

在Rust语言中&#xff0c;对Vec类型的元素进行去重&#xff0c;一种常见的方法是使用一个HashSet来帮助我们快速检查元素是否已经存在。以下是使用HashSet对Vec进行去重的示例代码&#xff1a; use std::collections::HashSet;fn main() {let vec_numbers vec![1, 2, 2, 3, 4…

大数据比赛-环境搭建(一)

1、安装VMware Workstation 链接&#xff1a;https://pan.baidu.com/s/1IvSFzpnQFl3svWyCGRtEmg 提取码&#xff1a;ukpo 内有安装包及破解方式&#xff0c;安装教程。 2、下载Ubuntu系统 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 点击下载&#xff…

The Sandbox 在利雅得的首次教育活动

2024年4月22日&#xff0c;The Sandbox 与沙特阿拉伯利雅得的 KACST&#xff08;阿卜杜勒阿齐兹国王科技城&#xff09;合作&#xff0c;举办了首次创作者研讨会。此次活动标志着沙特在推动生态系统增长和扩展方面的重要一步。 The Sandbox 的核心使命是通过无编程工具赋能下一…

在做题中学习(54):点名

LCR 173. 点名 - 力扣&#xff08;LeetCode&#xff09; 此题有不同的几种解法&#xff1a; 解法一&#xff1a;暴力枚举 O(n); 解法二&#xff1a;哈希表 把原数组丢入哈希表&#xff0c;遍历哈希表&#xff0c;看看哪个数值为0即可。 O(n)空间O(n)时间 解法三&…

【stm32-2】按键控制LED光敏传感器控制蜂鸣器

1.按键控制LED uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //读取输入数据寄存器某一个端口的输入值 uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); //读取整个输入数据寄存器 uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDe…

Codeforces Round 944 (Div. 4) A - G

div.4只写部分题解了&#xff0c;都比较基础&#xff0c;数学偏多一点&#xff0c;几乎没有算法&#xff0c;有不懂的欢迎评论区提问&#xff01; A. My First Sorting Problem #include<bits/stdc.h> using namespace std ; typedef long long ll ; const int maxn 2…