ESP8266乐鑫版本的(支持云端升级 (Boot 模式)烧写方法,(V1.5.4官方介绍如下)(BOOT模式)
硬件平台:
nodeMCU devkit核心板,带ch340g,应该是仿造的,官方是cp2102驱动,安信可科技有连接https://wiki.ai-thinker.com/esp8266/boards/nodemcu
编译环境:安装安信可一体化开发环境
AiThinker_IDE.exe 是安信可科技为方便广大用户而推出的基于 Windows + Cygwin + Eclipse + GCC 的综合 IDE 环境
烧写方式需要进行部分的修改,主要是删除部分makdfile以免发生冲突。
boot模式和非boot模式都要修改。
下图是乐鑫原厂的sdk目录,安信可的sdk同样适用。
乐鑫修改版
特性:
在乐鑫官方sdk上做出一些改动,使其下载后可以即编即用
下载地址: ESP8266_NONOS_SDK_V1.5.4 ESP8266_RTOS_SDK_V1.5.0
更新时间:2016年12月12日
更新说明: 可以使用安信可IDE直接导入编译
(V1.5.4官方介绍如下)(BOOT模式)下载https://wiki.ai-thinker.com/esp8266/sdk
同时参考https://blog.csdn.net/ReCclay/article/details/79314165
烧写参考https://wiki.ai-thinker.com/esp_download文档
在makefile中修改如下boot和SPI_SIZE_MAP
BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=2
ifeq ($(SPI_SIZE_MAP), 2)
size_map = 2
flash = 1024
ifeq ($(app), 2)
addr = 0x81000
endif
ifeq ($(BOOT), new)
boot = new
else
ifeq ($(BOOT), old)
boot = old
else
boot = none
endif
endif
ifeq ($(APP), 1)
app = 1
else
ifeq ($(APP), 2)
app = 2
else
app = 0
endif
endif
烧写工具配置如下,地址不能写错了,和不带boot是不一样的。
烧写之前,需把串口助手的停止,否则无法下载。烧写完成后,ret复位得到下载的结果:
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x40100000, len 816, room 16
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12
tail 4
chksum 0xcf
csum 0xcf
2nd boot version : 1.2
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size : 32Mbit
jump to run user1
get flash_addr error!
user code done
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x40100000, len 816, room 16
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12
tail 4
chksum 0xcf
csum 0xcf
2nd boot version : 1.2
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size : 32Mbit
jump to run user1
rf[112] : 03
rf[113] : 00
rf[114] : 01
SDK ver: 1.5.4(baaeaebb) compiled @ May 17 2016 19:23:54
phy ver: 972, pp ver: 10.1
SDK version:1.5.4(baaeaebb)
hello esp8266 liming
mode : softAP(be:dd:c2:47:65:37)
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
红色对应os_printf("hello esp8266 liming\n");该语句。
如果改为一下参数:
BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6
则会生成一下结果:
那么烧写的时候如下:boot.bin就是1.5了。
最后的结果:
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
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
rf[112] : 03
rf[113] : 00
rf[114] : 01
SDK ver: 1.5.4(baaeaebb) compiled @ May 17 2016 19:23:54
phy ver: 972, pp ver: 10.1
SDK version:1.5.4(baaeaebb)
hello esp8266 liming
mode : softAP(be:dd:c2:47:65:37)
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100