自己动手编译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固件相关推荐
- modemcu 打包_自己动手编译nodemcu固件
简单背景 我之前的文章都是推荐使用项目组提供的云服务来编译固件.好处是,简单方便,只需要在网页上选择自己需要的模块就可以了.云服务编译好之后会把固件发送到邮箱. 不过,并不是只能通过云服务获取固件.完 ...
- linux nodemcu 编译,nodemcu固件编译
nodemcu固件编译 by HYH | 2017 年 10 月 10 日 下午 8:27 一.编译环境搭建 1.下载 下载vbox及ova虚拟机包. 里面也有安装文档. 2.安装及必要软件安装 安装 ...
- linux nodemcu 编译,nodeMCU固件云编译没有esp32的版本
我都跟着做了的.以下为我所有的问题. 问题1:编写Pwm控制舵机程序,舵机无反应,但是led有闪烁 根据资料http://wiki.ai-thinker.com/esp32从官网下载固件 git cl ...
- 自己动手制作路由器固件之快速开始
如今市面上一两百元的双频(2.4G和5G,802.11ac)智能路由,几乎全部都是联发科的MT7620(2.4G+交换机)加上MT7612EN(PCIE接口,5G)的解决方案,软件也几乎千篇一律是Op ...
- nodemcu固件_从无到有玩NodeMcu:web端控制
本文所有软件资源均可点击相应的超链接下载 我们的目标: 利用网页web端为搭载NodeMcu的esp8266连接wifi 硬件准备: 基于NodeMcu的esp8266 数据线:usb+micr-us ...
- Linux编辑firmware的文件,rk3328编译Linux固件
一.编译 Linux 固件 这一章将介绍编译 ROC-RK3328-CC Linux 固件的整个流程. 1.1 准备工作 Linux 固件在如下的环境中编译: Ubuntu 16.04 amd64 安 ...
- 自己动手编译QGIS 3.18源代码,含出错大全和解决办法
从2月19日开始打包,到2月23日,QGIS 3.18的安装包经过漫长的4天才完成打包,在这等待的4天里,大家有没有像我一样萌生出自己动手编译源代码的想法呢?今天想分享的是QGIS3.18源代码编译的 ...
- nodemcu刷鸿蒙系统,ESP01S刷入NodeMCU固件
一开始我看别家的教程的时候走了很多歪路.搞的时候挺困难的,花了我大半天,但成功之后发现:哇,其实挺简单一个东西. 挺小一个 直入主题 开搞 一.准备工作 1.这里用到USB-TTL 某宝10块钱好像 ...
- 从零开始编译OpenWrt固件
从零开始编译OpenWrt固件 前言 进来阅读这篇文章的相信都是对OpenWrt有一定的了解的,对于OpenWrt的介绍这里就不再赘述,可以自行查找相关百科了解. OpenWrt是适合于嵌入式设备的一 ...
- OPENWRT 插件ipk单独编译-无需编译整个固件
下载官方源码包(可省) https://downloads.openwrt.org/releases/21.02.1/targets/x86/64/openwrt-sdk-21.02.1-x86-64 ...
最新文章
- 设置系统的viewController modal动画样式
- 关于U盘安装ubuntu-18.04安装时候出现的grub-efi-amd64-signed的问题。
- ALVのイベントを取得する方法
- 2021技术领域趋势报告:Rust继续增长、低代码是重要趋势
- Spring解决bean之间的循环依赖(循环引用)
- 微课|玩转Python轻松过二级:第3章课后习题解答2
- 惠普台式电脑引导不了系统_惠普电脑进入bios设置引导模式操作步骤图文
- oracle建表的方法,oracle建表语句
- 小程序获取视频缩略图
- Latex排版大括号让其左对齐
- 审稿意见的“so what”如何处理?
- MD2中用于随机置换的S盒是如何生成的?
- 零知开发板和红外人体感应模块使用
- 上传声音 微信小程序_微信小程序录音文件保存,播放
- unity井字棋和一些重要概念(中山大学3D游戏作业2)
- OSI七层模型的功能及协议
- idm下载器去哪里下载 idm下载器用不了什么原因
- LINUX提权入门手册
- 【每天学点管理】——员工激励
- 国内优秀开源电商项目评测、PHP版和Java版都有开源
热门文章
- RocketMq之一条消息在commitlog文件中如何存储验证
- 纯css实现二级下拉菜单
- rest api是什么_什么是REST API?
- 《重说中国近代史》—张鸣—(3)两个世界最初的碰撞(续)
- Centos下安装FastDFS
- 解决:元素内容必须由格式正确的字符数据或标记组成。
- 微信公众号二维码在哪里看?如何查看自己的微信公众号二维码?
- 利用云片网提供的API发送短信
- 微信小程序----开发小技巧(二)
- exchange server 2007 边缘传输服务器 垃圾邮件,边缘传输 启用反垃圾邮件更新向导 启用反垃圾邮件更新页...