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即为最终生成的文件

PS: .lua文件最好编译成.lc文件执行(关于out of memory)

你可能感兴趣的:(NodeMCU 2.2.1 编译NodeMcu lua固件)