modemcu 打包_自己动手编译NodeMCU固件

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

第二步 - 配置固件

配置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文件直接写入,详情请查看 [ Internal filesystem # Technical Details ] )

还有很多设置,具体参考 [ NodeMCU Documentation ] 。

第三步 - 编译固件

定位到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_CCFLAGS="-DBUILD_DATE='\"'$BUILD_DATE'\"'" all

cd bin/

file_name="nodemcu_${BUILD_DATE}.bin"

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命令将固件与准备预先写入的二进制文件连接成一个文件进行烧录。

烧录工具

[ ESPTool ]

[ ESP8266 Download Tool ]

[ NodeMCU Flasher ]

[ NodeMCU PyFlasher ]

详见 [ 自己动手编译NodeMCU固件 ]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值