NodeMCU|NodeMCU 2.2.1 编译NodeMcu lua固件

报错:无法下载 https://github.com/jmattsson/esp-toolchains/releases网页下的toolchain-esp8266-linux-x86_64-20181106.0.tar.xz
修改makefile文件中对应的wget为wget --no-cookie --no-check-certificate
若是还是无法下载,可自行下载相应的文件到cache文件夹下,我的是从阿里云服务器下载

wget --no-cookie --no-check-certificate https://github.com/jmattsson/esp-toolchains/releases/download/linux-x86_64-20181106.0/toolchain-esp8266-linux-x86_64-20181106.0.tar.xz

编译NodeMcu lua固件 NodeMcu lua可在网上编译下载,我选择自行编译是因为要在烧录bin文件的同时把图片等资源文件给烧录进去
1.下载需要用到的软件
下载需要用到的程序
yum install make git tar unzip srecord python python-pip gcc g++

安装python包
pip install esptool

2.克隆nodemcu-firmware
git -clone https://github.com/nodemcu/nodemcu-firmware.git

3.自定义配置
1)根据自己的需要修改nodemcu-firmware/app/include目录下的user_model.h和user_config.h
user_model.h涵盖需要编译的模块
user_config涵盖模块配置项
2)在local/fs文件夹添加自己需要的用到文件(make后再bin/下生成bin文件)
更多配置自行阅读源码nodemcu in git
4.Make
cd到nodemcu-firmware根目录
export BUILD_DATE=$(date +%Y%m%d) make EXTRA_CCFLAGS="-DBUILD_DATE='\"'$BUILD_DATE'\"'" all

完成后会在/bin生成.bin文件
5.整合.bin文件
合并:
把0x00000.bin与0x10000.bin合并成temp.bin
srec_cat -output "temp.bin" -binary 0x00000.bin -binary -fill 0xff 0x00000 0x10000 0x10000.bin -binary -offset 0x10000

-output "temp.bin"输出文件名temp.bin
-fill 0xff 0x00000 0x10000在[0x00000,0x10000]内填充0xff(得先填充)
-binary ...... 0x10000.bin -binary -offset 0x10000偏移0x10000开始写0x10000.bin
整合用户bin文件(local/fs中生成的bin):
srec_cat -output "nodemcu_32mb.bin" -binary temp.bin -binary -fill 0xff 0x00000 0x70000 0x70000-32mb.img -binary -offset 0x70000

nodemcu_32mb.bin即为最终生成的文件
【NodeMCU|NodeMCU 2.2.1 编译NodeMcu lua固件】PS: .lua文件最好编译成.lc文件执行(关于out of memory)

    推荐阅读