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)
推荐阅读
- gitlab|Gitlab升级(12.2.1到14.6.4)
- 《Unix网络编程》第一卷第三版|《Unix网络编程》第一卷第三版 源码编译
- maven使用tomcat7插件编译jsp出错
- 嵌入式(编译内核、根文件系统等)
- Centos6源码编译安装2.4版本http服务步骤
- 一键编译部署Mysql
- 防止sql注入
- 编程语言主要类型
- 解释器与编译器都是什么()
- Android|Android JNI 篇 - 编译 bilibili/ijkPlayer