自己动手编译NodeMCU固件
2017-12-04 23:05
751 查看
目前常用的编译NodeMCU的方式主要有两种,在线构建和本地构建。
在线构建
使用在线构建服务NodeMCU custom builds来定制自己的固件,只需要在该网站选择你需要的库,留下邮箱,很快就能收到编译好的固件,这里不多叙述。本地构建
想要自己编译NodeMCU,首先需要一个Linux环境,实体机或虚拟机都可以,安装教程网上有很多,这里以Ubuntu为例。[b]第一步 - 准备工作[/b]
以apt为例,首先安装编译相关依赖项。
sudo apt-get update sudo apt-get install make g++ gcc git unzip srecord python python-serial
这里已经打包了所有需要的文件,将它们下载到工作目录。
nodemcu-firmware
[b]第二步 - 配置固件[/b]
打开
nodemcu-firmware/app/include/目录,我们需要修改
user_model.h中的宏定义来决定编译哪些模块,这里根据需要进行选择,注意不要选太多。
在
user_config.h中修改
#define BIT_RATE_DEFAULT BIT_RATE_115200可改变初始波特率。(强迫症可将波特率设置为74880,这样每次启动模块就没有乱码了)
在
user_version.h中可修改编译时间。
如果选择了UCG或U8G模块,要配置
ucg_config.h或
u8g_config.h。
还有很多设置,一般在对应的设置后面都有注释,这里就不多说了。
模块的具体功能可以参考 NodeMCU Documentation 。
[b]第三步 - 编译固件[/b]
为了让编译更简单化,这里用脚本写成了一键式操作,可以省去很多步骤。
必要步骤 | 可选步骤 |
---|---|
清理工程,执行./nodemcu make clean | 合并二进制文件,执行./nodemcu combine <输出文件名> |
编译,执行./nodemcu make |
如果未自定义合并输出文件名,则目录nodemcu-firmware/bin中的nodemcu_firmware.bin为合并后文件,烧录地址为0x0。
如果以后的编译莫名出错,可以尝试
make clean然后再
make。
[b]第四步 - 烧录固件[/b]
这是对flash为DIO的4MB模块进行烧录的命令,需要根据自己的实际情况进行调整。
cd nodemcu-firmware/tools sudo esptool.py --port /dev/ttyUSB0 write_flash \ -fm dio -fs 32m -ff 40m 0x0 nodemcu_firmware.bin
当然,官方也提供了图形化的烧录程序,根据自己的使用习惯,自行选择吧。
相关文章推荐
- 自己编译NodeMCU固件 & 提交数据到服务器
- 自己动手编译hadoop-2.5.2源码
- 自己动手编译Windows版的OpenJDK 7
- 自己动手编译、运行Java程序
- 自己动手编译OpenJDK 7(转载)
- 自己动手编译Android源码(超详细)
- 如何自己动手编译自定义版本的最新jQuery类库?
- 编译自己的程序到openwrt固件中去
- 1.4.3.自己动手安装交叉编译工具链1
- 如何自己动手编译自定义版本的最新jQuery类库?
- Android 自己动手编译android源码
- 自己动手编译最新Android源码及SDK
- 自己动手在Linux下编译JDK
- 自己动手编译最新Android源码及SDK
- Win32 SDK基础(2)—— 自己动手用cl.exe和link.exe编译和连接程序
- 自己动手在CentOS 7上编译安装GCC 4.9.2
- 自己动手编译、运行Java程序,解析package的作用
- cmd 如何进入d盘,然后执行编译 这样就可以省去每次自己动手运行,直接脚本一次性搞定
- 自己动手编译Linux内核 推荐
- 编译自己的程序到openwrt固件中去