目前常用的编译NodeMCU的方式主要有两种,在线构建和本地构建。
在线构建
使用在线构建服务[NodeMCU custom builds]来定制自己的固件,只需要在该网站选择你需要的库,留下邮箱,很快就能收到编译好的固件,这里不多叙述。
本地构建
想要自己编译NodeMCU,首先需要一个Linux环境,实体机或虚拟机都可以,安装教程网上有很多,这里以Ubuntu为例。
第一步 - 准备工作
以apt为例,首先安装编译相关依赖项。
sudo apt-get update
sudo apt-get install make g++ gcc git unzip srecord python python-serial
这里已经打包了所有需要的文件,将它们下载到工作目录。
NodeMCU-Firmware整合版: [ 下载 ]
第二步 - 配置固件
-
修改
nodemcu-firmware/app/include
目录下的user_model.h
中的宏定义来决定编译哪些模块,根据需要进行选择,注意不要选太多。 -
可以将
nodemcu-firmware/local/fs
目录下的文件打包成可在烧录时写入闪存中的二进制文件,如果不需要这样做,可以无视这段话。
还有很多设置,具体参考 [ NodeMCU Documentation ] 。
第三步 - 编译固件
为了让编译更简单化,这里用脚本写成了一键式操作,可以省去很多步骤。
必要步骤 |
---|
清理工程,执行./nodemcu_make.bash make clean
|
编译,执行./nodemcu_make.bash make
|
如果之后的编译莫名出错,可以尝试make clean
,然后再make
。
第四步 - 烧录固件
编译生成的二进制文件在nodemcu-firmware/bin
目录中。
- 固件:
0x00000.bin -> 0x00000
0x10000.bin -> 0x10000 - 预置文件(根据闪存容量进行选择):
4MB:0x74000-4mb.bin -> 0x74000
8MB:0x80000-8mb.bin -> 0x80000
32MB:0x80000-32mb.bin -> 0x80000
1 | 2 |
---|---|
[ NodeMCU PyFlasher下载 ] NodeMCU PyFlasher |
[ ESPTool下载 ] esptool.py --port /dev/ttyUSB1 write_flash --flash_mode dio --flash_size 4MB 0x0 nodemcu_firmware.bin
|
[ ESP8266 Download Tool下载 ] ESP8266 DOWNLOAD TOOL |
[ NodeMCU Flasher下载 ] NODEMCU FIRMWARE PROGRAMMER |
网友评论