单片机学习小组
登录
直播中
1123127317
8年用户
1039经验值
擅长:制造/封装 接口/总线/驱动
私信
关注
请问如何自己动手编译NodeMCU-Lua固件?
开启该帖子的消息推送
如何自己动手编译NodeMCU-Lua固件?
回帖
(1)
萧蔼晨
2022-2-15 14:19:34
目前常用的编译NodeMCU的方式主要有两种,在线构建和本地构建。 ####在线构建 使用在线构建服务[NodeMCU custom builds]来定制自己的固件,只需要在该网站选择你需要的库,留下邮箱,很快就能收到编译好的固件,这里不多叙述。 ####本地构建 想要自己编译NodeMCU,首先需要一个Linux环境,实体机或虚拟机都可以,安装教程网上有很多,这里以Ubuntu为例。
###第一步 - 准备工作
以apt为例,首先安装编译相关软件包。
N
命令
1
sudo apt-get update
2
sudo apt-get install make git tar unzip srecord python python-pip python-serial gcc g++
3
pip install esptool
###第二步 - 配置固件
配置nodemcu-firmware/app/include目录下的user_model.h和user_config.h。 下面介绍的都是可选配置,完全根据个人需求进行选择。
选择要编译的模块: user_model.h
默认波特率: user_config.h中的BIT_RATE_DEFAULT(使用74880波特率启动时无乱码)
只使用整数: user_config.h中的LUA_NUMBER_INTEGRAL(可节省内存)
开启WIFI SMART智能配网: user_config.h中的WIFI_SMART_ENABLE(手机配网SmartConfig或AirKiss)
可以将nodemcu-firmware/local/fs目录下的文件打包成可在烧录时写入闪存中的二进制文件。(比如可以通过烧录的方式将lua文件直接写入,详情请查看
###第三步 - 编译固件
定位到nodemcu-firmware目录,开始编译。 编译需要很长时间, 等待编译完成。
tar -Jxvf tools/esp-open-sdk.tar.xz
export PATH=$PATH:$PWD/esp-open-sdk/xtensa-lx106-elf/bin
export BUILD_DATE=$(date +%Y%m%d)
make EXTRA_CCFLAG'$BUILD_DATE'"'" all
cd bin/
file_nam
srec_cat -output ${file_name} -binary 0x00000.bin -binary -fill 0xff 0x00000 0x10000 0x10000.bin -binary -offset 0x10000
cd ../
make clean
###第四步 - 烧录固件
编译生成的二进制文件在nodemcu-firmware/bin目录中。
固件: nodemcu_20180627.bin -> 0x00000
准备预先写入的二进制文件(根据闪存容量进行选择): 512KByte:0x74000-4mb.bin -> 0x74000 1MByte:0x80000-8mb.bin -> 0x80000 4MByte:0x80000-32mb.bin -> 0x80000
提示: 可以使用srec_cat命令将固件与准备预先写入的二进制文件连接成一个文件进行烧录。
烧录工具
目前常用的编译NodeMCU的方式主要有两种,在线构建和本地构建。 ####在线构建 使用在线构建服务[NodeMCU custom builds]来定制自己的固件,只需要在该网站选择你需要的库,留下邮箱,很快就能收到编译好的固件,这里不多叙述。 ####本地构建 想要自己编译NodeMCU,首先需要一个Linux环境,实体机或虚拟机都可以,安装教程网上有很多,这里以Ubuntu为例。
###第一步 - 准备工作
以apt为例,首先安装编译相关软件包。
N
命令
1
sudo apt-get update
2
sudo apt-get install make git tar unzip srecord python python-pip python-serial gcc g++
3
pip install esptool
###第二步 - 配置固件
配置nodemcu-firmware/app/include目录下的user_model.h和user_config.h。 下面介绍的都是可选配置,完全根据个人需求进行选择。
选择要编译的模块: user_model.h
默认波特率: user_config.h中的BIT_RATE_DEFAULT(使用74880波特率启动时无乱码)
只使用整数: user_config.h中的LUA_NUMBER_INTEGRAL(可节省内存)
开启WIFI SMART智能配网: user_config.h中的WIFI_SMART_ENABLE(手机配网SmartConfig或AirKiss)
可以将nodemcu-firmware/local/fs目录下的文件打包成可在烧录时写入闪存中的二进制文件。(比如可以通过烧录的方式将lua文件直接写入,详情请查看
###第三步 - 编译固件
定位到nodemcu-firmware目录,开始编译。 编译需要很长时间, 等待编译完成。
tar -Jxvf tools/esp-open-sdk.tar.xz
export PATH=$PATH:$PWD/esp-open-sdk/xtensa-lx106-elf/bin
export BUILD_DATE=$(date +%Y%m%d)
make EXTRA_CCFLAG'$BUILD_DATE'"'" all
cd bin/
file_nam
srec_cat -output ${file_name} -binary 0x00000.bin -binary -fill 0xff 0x00000 0x10000 0x10000.bin -binary -offset 0x10000
cd ../
make clean
###第四步 - 烧录固件
编译生成的二进制文件在nodemcu-firmware/bin目录中。
固件: nodemcu_20180627.bin -> 0x00000
准备预先写入的二进制文件(根据闪存容量进行选择): 512KByte:0x74000-4mb.bin -> 0x74000 1MByte:0x80000-8mb.bin -> 0x80000 4MByte:0x80000-32mb.bin -> 0x80000
提示: 可以使用srec_cat命令将固件与准备预先写入的二进制文件连接成一个文件进行烧录。
烧录工具
举报
更多回帖
rotate(-90deg);
回复
相关问答
如何
自己
动手
编译
NodeMCU
固件
?
2022-02-15
884
如何
自己
动手
编译
nodemcu
固件
?
2022-02-15
573
基于
NodeMCU
的
Lua
脚本化编程该怎样去实现呢
2022-02-15
1057
手把手教你怎样去
编译
NodeMCU
固件
呢
2022-02-15
1168
如何
NodeMCU
+ TFT LCD制作简单游戏?
2023-05-24
217
nodemcu
固件
如何
编译
?
2022-02-15
682
介绍一种使用WSL来
编译
nodemcu
固件
的方法
2022-02-15
764
是否有网页描述如何在不干扰现有LFS和
LUA
区域的情况下刷新新
固件
?
2023-04-26
202
怎样去开发一种基于
LUA
编程和Arduino IDE下的
nodemcu
开发板呢
2022-02-15
901
求分享
NodeMcu
Lua
脚本实例
2023-04-28
274
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分