4. ESP8266固件的编译(NONOS SDK固件 AT固件)

来源:互联网 发布:淘宝怎么用邮箱注册 编辑:程序博客网 时间:2024/05/30 05:23

AT固件编译,应用广泛的Esp8266 AT固件是基于Non-OS SDK开发的,
为简单起见,这里编译的是Non-FOTA类型的固件, 通常也称Eagle固件。
也可以添加自己的AT命令,来支持业务逻辑。

1) 在NONOS目录下新建app目录,将examples/at下所有文件复制到该目录下
2) 因无须开启FOTA,所以AT升级功能并不必要,修改include/user_config.h文件
注释掉AT_CUSTOM_UPGRADE宏定义
3) 因生成的固件size会较大,
修改ld/eagle.app.v6.ld文件进行调整(乐鑫官方默认是200Kb),
将irom0_0_seg从原来的len = 0x5C000改为len = 0x6C000
(需ESP组模的flash大小配合)

4)执行bash gen_misc.sh按提示编译
或者,也可用如下命令直接编译

make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=QIO SPI_SIZE_MAP=2

(ESP-01时为2, ESP12一般为4)

其中注意BOOT选择none,因为NOFOTA不需要boot,SPI_SIZE_MAP按所用ESP模组选择。选项如下:

SPI_SIZE_MAP:    0= 512KB( 256KB+ 256KB)    2=1024KB( 512KB+ 512KB)    3=2048KB( 512KB+ 512KB)    4=4096KB( 512KB+ 512KB)    5=2048KB(1024KB+1024KB)    6=4096KB(1024KB+1024KB)    7=4096KB(2048KB+2048KB) not support ,just for compatible with nodeMCU board    8=8192KB(1024KB+1024KB)    9=16384KB(1024KB+1024KB)

5)编译成后后,SDK根目录下bin目录中会生成固件文件

eagle.flash.bin-------->0x00000eagle.irom0text.bin---->0x10000

烧录后,串口输入AT+GMR即可看到版本信息。
这里写图片描述

原创粉丝点击