编译ESP8266固件说明

编译ESP8266固件说明 一.编译方法说明
登录https://nodemcu.readthedocs.io/en/master/en/build/有三种方式可以选择
1.云编译服务
这种方式会产生错误,导致烧写固件后,ESP8266蓝灯一直闪烁而无法使用;
2.安装Docker, 利用Docker Image编译环境安装
这种方式不需要安装NodeMCU的所有编译工具链。编译环境保存在Docker容器中,只需安装Docker容器,就可以在本地编译固件。
3.搭建Linux 编译环境
需要安装NodeMCU 固件所需的所有编译工具链,较为麻烦。
二.Docker安装
1.几点说明
l Docker分为EE( EnterpriseEdition)和 CE (Community Edition )两种版本,其中EE为收费版本。本说明只介绍CE版的安装方式。
l Docker支持多种Linux发行版。本说明只介绍Ubuntu的安装方式。
l 在安装Docker之前,先检查Ubuntu的版本是否是64位并且是下列版本
Zesty 17.04
【编译ESP8266固件说明】Xenial 16.04 (LTS)
Trusty 14.04 (LTS)
中的一个,否则会影响使用。
2.卸载旧的Docker版本
运行下列命令卸载旧的版本,旧的版本被称为docker或者docker-engine
$ sudo apt-get remove docker docker-engine docker.io
Docker CE包现被称为docker-ce。
3.建议Trusty 14.04用户安装额外的包

$ sudo apt-get update


$ sudo apt-get install \

linux-image-extra-$(uname -r)\

linux-image-extra-virtual

4.用包安装Docker
本说明使用.deb文件安装Docker
访问https://download.docker.com/linux/ubuntu/dists/,选择对应的Ubuntu版本后,进入pool/stable/并选择amd64,下载.deb文件,
安装Docker CE,找到刚刚下载的.deb文件的路径,利用下面的命令安装
$ sudo dpkg -i package.deb

验证安装是否正确可以使用命令
$ sudo docker run hello-world

这条命令下载了一个测试镜像,并在一个容器中运行。当它运行后,会打印出一条信息并退出
至此安装成功,Docker命令需要使用sudo来执行。
5.卸载Docker CE
$ sudo apt-get purge docker-ce

$ sudo rm -rf /var/lib/docker


三.从github上克隆NodeMCU版本库
首先需要安装git
$ git clone https://github.com/nodemcu/nodemcu-firmware.git


四.利用Docker运行镜像
1.选择编译模块
在编译之前,需要配置所需编译的模块。比如:PWM,PCM等等。
有些模块是默认打开的
编辑app/include/user_modules.h文件,打开相关模块宏的注释即可。
例如如果需要编译MQTT模块:则
...
#define LUA_USE_MODULES_MQTT
// #define LUA_USE_MODULES_COAP
// #define LUA_USE_MODULES_U8G
...
2.设置波特率
这一步不需要进行,默认波特率是115200,如有需要可以更改app/include/user_config.h文件,更改宏BIT_RATE_DEFAULT
3.打上自己的版本标签
编辑文件app/include/user_version.h
#define NODE_VERSION"NodeMCU 2.1.0+myname"
#ifndef BUILD_DATE
#define BUILD_DATE"YYYYMMDD"
#endif
4.开始编译
进入nodemcu-firmware目录,在命令行输入
$ sudo docker run --rm -ti -v `pwd`:/opt/nodemcu-firmware marcelstoer/nodemcu-build

即可看到docker开始编译。
在nodemcu-firmware目录下bin目录中,可看到编译生成的文件。
选择0x00000.bin和0x00001.bin烧写即可。


    推荐阅读