自己动手编译NodeMCU固件

作者: 咔狼 | 来源:发表于2017-12-03 17:41 被阅读746次

目前常用的编译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

相关文章

网友评论

本文标题:自己动手编译NodeMCU固件

本文链接:https://www.haomeiwen.com/subject/gymabxtx.html