本文主要介绍一下ESP8266固件的烧录。
1、软件下载
esp8266&esp32软件下载:点击ESP烧写工具下载。
2、软件配置
软件的配置需要根据具体实际情况来选择:
(1)确定芯片的型号
在这里查看你的芯片的flash的size大小:
(2)esp8266下载模式引脚
(3)软件配置
这里要注意的是:有的文档中的flash size的单位用的是byte,而这里软件中用的单位是bit,所以有的时候需要我们转换一下,否则烧写时候,会出现各种问题,如下载不进去或者下载后不停的复位等问题。
(4)AT官方固件烧写
我在这里以烧写官方的AT固件为例进行说明,首先可以在这里下载到最新版的AT固件-ESP8266 AT固件,我这里下载的是1.6.2版本,然后使用的32M的flash,因此我的配置如下:
当然如果你的esp8266的型号不一样,在这里你就需要参考这个详细的说明进行相应的配置了:
# BOOT MODE
## download
### Flash size 8Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0xfc000 (optional)
blank.bin 0x7e000 & 0xfe000
### Flash size 16Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x1fc000 (optional)
blank.bin 0x7e000 & 0x1fe000
### Flash size 16Mbit-C1: 1024KB+1024KB
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x1fc000 (optional)
blank.bin 0xfe000 & 0x1fe000
### Flash size 32Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0x7e000 & 0x3fe000
### 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
# NON-BOOT MODE
## download
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x10000
blank.bin
Flash size 8Mbit: 0x7e000 & 0xfe000
Flash size 16Mbit: 0x7e000 & 0x1fe000
Flash size 16Mbit-C1: 0xfe000 & 0x1fe000
Flash size 32Mbit: 0x7e000 & 0x3fe000
Flash size 32Mbit-C1: 0xfe000 & 0x3fe000
esp_init_data_default.bin (optional)
Flash size 8Mbit: 0xfc000
Flash size 16Mbit: 0x1fc000
Flash size 16Mbit-C1: 0x1fc000
Flash size 32Mbit: 0x3fc000
Flash size 32Mbit-C1: 0x3fc000
## compile
modify eagle.app.v6.ld, as
irom0_0_seg : org = 0x40210000, len = 0x6C000
> NOTICE: UPDATE is not supported in non-boot mode; 4Mbit Flash is not supported in non-boot mode;
# Update steps
1.Make sure TE(terminal equipment) is in sta or sta+ap mode
AT+CWMODE=3
OK
2.Make sure TE got ip address
AT+CWJAP="ssid","12345678"
OK
AT+CIFSR
192.168.1.134
3.Let's update
AT+CIUPDATE
+CIPUPDATE:1 found server
+CIPUPDATE:2 connect server
+CIPUPDATE:3 got edition
+CIPUPDATE:4 start start
OK
> NOTICE: If there are mistakes in the updating, then break update and print ERROR.
3、下载详细说明及注意点
(1)硬件的连接
如果使用的开发板,我们很容易的会成功,只要插上usb接口线,再正确配置好软件选项,基本不会出现下载出错的问题。但是我们很多时候在实际项目中都是自己做的板子,这时候就可能出现各种问题,因此我们要详细理解下载的各个方面,以便根据自己的实际硬件情况去做好下载的配置。
硬件参考电路如上,在这里我们需要注意的是:
a、vcc需要3.3v的,大了会导致芯片高温;
b、vcc不要直接使用这里usb转串口芯片的vcc,而是要用独立的电源或者其他MCU的3.3v电源。
(2)进入下载模式确认
在我们下载的前,首先我们需要确认我们能正确进入到下载模式,否则后面的一切工作都是没法进行的。在正确连线后,需要按照以下步骤确认:
a、 首先确保模组可以正常运行工作,现在一般的厂商会在模组出厂前在模组中烧录初始化固件程序,而很多模组会烧录AT指令的固件,如果你不能确认,那么你在购买后需要询问模块的固件信息,在有AT指令固件的情况下,为了确认模块可以正常工作,我们可以通过串口助手发送 AT 指令,当可以收到回复 AT OK就说明正常工作了;这里需要注意:波特率选择115200;发送AT命令的时候,要选择发送新行(即发送\r\n),如下:
前面的乱码不用管,这是上电就会打印的信息,在出现ready后,就可以发送AT命令,看是否有OK信息返回。也有可能出现所有的都是乱码的情况(不管是选择74880还是选择115200波特率的情况下),这个问
题一般有可能出现在自己画板,但是又改变了晶振的情况下。
b、如果没有AT指令固件,我们同样可以查看确认,首先硬件上GPIO0拉低,在串口工具中选择波特率74880,在复位后查看log信息,如果出现这样的信息:ets Jan 8 2014,rst cause 1, boot mode: (1,7),就说明进入了下载模式。
这里说明一下复位后,第一句log的含义:
复位的原因说明
启动模式说明
(3)下载时flash的地址
这里的地址作为参考,实际情况时按照编译完成时的信息为准。