飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

乐鑫ESP8266-12S刷固件1.7版本的正确姿势

Author:飘易 Source:飘易
Categories:物联网 PostTime:2020-3-24 11:29:05
正 文:

乐鑫ESP8266-12S模组是比较新推出的WIFI模组,这个12S的Flash已经提高到了32Mbit,而之前的01S系列只有8M,Flash变大之后可以支持的固件版本和类型也多了起来。


ESP8266 是高性能无线 SOC,以最低成本提供最大实用性,为 WiFi 功能嵌入其他系统提供无限可能。具有以下特点:

  • 802.11 b/g/n

  • 内置Tensilica L106 超低功耗 32 位微型 MCU,主频支持 80 MHz 和160 MHz,支持 RTOS

  • 内置10 bit高精度ADC

  • 内置TCP/IP协议栈

  • 内置TR 开关、balun、LNA、功率放大器和匹配网络

  • 内置PLL、稳压器和电源管理组件,802.11b 模式下+20 dBm的输出功率

  • A-MPDU 、 A-MSDU 的聚合和 0.4 s的保护间隔

  • WiFi @ 2.4 GHz,支持 WPA/WPA2 安全模式

  • 支持AT远程升级及云端OTA升级

  • 支持 STA/AP/STA+AP 工作模式

  • 支持 Smart Config 功能(包括 Android 和 iOS 设备)

  • HSPI 、UART、I2C、I2S、IR Remote Control、PWM、GPIO

  • 深度睡眠保持电流为 10 uA,关断电流小于 5 uA

  • 2 ms 之内唤醒、连接并传递数据包

  • 待机状态消耗功率小于1.0 mW (DTIM3)

  • 工作温度范围:-20℃- 85℃


拿飘易经常使用的01S和12S比较下,主要的区别如下:

12S板层升级到4层,Flash升级到32M。


关于ESP8266-12系列的区别:

Q: ESP-12S,ESP-12F,ESP-12E这三款模块有什么区别?

A: ESP-12E使用的PCB板层为两层,ESP-12F使用的PCB板层为四层,使用上更加稳定,ESP-12S在ESP-12F       的基础上将IO0,IO15,RST,EN引脚进行了内部上下拉处理,接线上只需要接四根线就可以正常使用(为了减少接线,飘易一般建议大家直接选择12S这款)


Q: ESP-12S与ESP-12F和ESP-07S他们三者之间可以直接替换吗 ?AT指令也一致是吗?

A: 他们三者关键引脚兼容,AT指令是一致的,基本可以替换


Q: ESP-12S的传输距离是多少? 

A: 40~50米,这个是参考距离,实际要看您的使用环境


Q: ESP-12S是否支持AT指令控制IO,还有读取ADC?

A: ESP-12S支持AT指令控制IO和读取ADC


Q: ESP-12S中间的焊盘接地吗? 

A: 是的,ESP-12S中间的焊盘是接地的



在和单片机接线中 ,我们只需要连接VCC, GND, TX, RX 四个引脚即可。


接下来,我们需要给12S刷新的固件,刷固件的话,要多接2个线: IO0, RST 两个引脚。


12S的IO0 和 RST 已经默认上拉了。


IO0:

  • 上拉,默认工作模式;

  • 下拉,烧写固件模式(接地);        


RST: 需要重启WIFI模组的时候,接一下GND然后再断开,即可重启模组。


烧写固件,我们把IO0引脚接 GND 地。


发送AT指令查看出厂固件的版本号:

AT+GMR

AT version:1.2.0.0(Jul  1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec  2 2016 14:21:16
AT+RST

ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 1856, room 16 
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8 
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8 
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 32Mbit(512KB+512KB)
jump to run user1 @ 1000


按照飘易的这篇文章:ESP8266烧录固件 烧录乐鑫的最新的1.7.2:ESP8266 NonOS AT Bin V1.7.2 (固件下载地址:https://www.espressif.com/zh-hans/support/download/at

烧录后出现错误:

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

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 : DIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000


mismatch map 5,spi_size_map 6
system param partition error
system_partition_table_regist fail

提示系统分区错误,分区表注册失败:

mismatch map 5,spi_size_map 6
system param partition error
system_partition_table_regist fail


这个时候,按照官网的配置刷是无法成功的。

1.7.0  1.7.1  1.7.2 都是同样问题,32M FLASH下烧录成功,但是均报错。


74880波特率重启:

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 : QIO
SPI Flash Size & Map: 16Mbit(1024KB+1024KB)
jump to run user1 @ 1000
V2
Mo
cal sector: 507
freq trace enable 0
rf[112] : 00
rf[113] : 00
rf[114] : 01
SDK ver: 3.0.2(824dc80) compiled @ Jan 19 2020 09:41:05
phy ver: 1155_0, pp ver: 10.2


目前,1.7的固件无法使用32M的模式烧写成功,我们要想烧录1.7,需要使用16M的模式烧写,如下 :

注意,16M烧写模式的固件对应的地址和32M的是不同的:

SPI SPEED: 40MHz

SPI MODE: QIO

FLASH SIZE: 16Mbit-C1


执行AT指令:

AT+GMR
AT version:1.7.2.0(Jan 19 2020 09:39:04)
SDK version:3.0.2(824dc80)
compile time:Jan 20 2020 10:09:38
Bin version(Wroom 02):1.7.2
OK


AT+RST
ets Jan  8 2013,rst cause:2, boot mode:(3,6)

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 : QIO
SPI Flash Size & Map: 16Mbit(1024KB+1024KB)
jump to run user1 @ 1000

ready


烧录成功并且AT指令也工作正常了。


避免硬件资源浪费

但是,ESP8266-12S明明是32M的FLASH,却只能烧录16M的模式,那购买的硬件资源不是浪费了吗,飘易希望能充分利用32M的flash,那么目前可以正常在32M的模式下烧录成功的固件版本是 1.6.2 !

ESP8266 AT Bin V1.6.2 烧录地址:

### Flash size 32Mbit-C1: 1024KB+1024KB
    boot_v1.2+.bin              0x00000
    user1.2048.new.5.bin        0x01000
    esp_init_data_default.bin   0x3fc000 (optional)
    blank.bin                   0xfe000 & 0x3fe000


烧录配置:


烧录固件成功后执行AT指令:

AT+GMR
AT version:1.6.2.0(Apr 13 2018 11:10:59)
SDK version:2.2.1(6ab97e9)
compile time:Jun  7 2018 19:34:29
Bin version(Wroom 02):1.6.2
OK


AT+RST
 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

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 : DIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000

ready


波特率74880下重启后:

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

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 : DIO
SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user1 @ 1000

rf cal sector: 1019
freq trace enable 1
rf[112] : 03
rf[113] : 00
rf[114] : 01
w_flash

SDK ver: 2.2.1(6ab97e9) compiled @ Jun  7 2018 13:59:14
phy ver: 1136_0, pp ver: 10.2



至此,使用1.6.2固件的情况下,成功烧录32M flash。


完。

作者:飘易
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:没有了
下一篇:iOS离线打包5+SDK并编写自定义插件
0条评论 “乐鑫ESP8266-12S刷固件1.7版本的正确姿势”
No Comment .
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2019 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有