构建 NodeMCU 固件

Posted

技术标签:

【中文标题】构建 NodeMCU 固件【英文标题】:Building NodeMCU firmware 【发布时间】:2019-10-09 17:22:19 【问题描述】:

我正在尝试通过克隆 github 并使用 make 命令https://github.com/nodemcu/nodemcu-firmware 来构建 nodemcu 固件。我正在使用树莓派,这可能是问题所在。我没有修改任何东西,只是克隆主分支并输入 make。想知道我是否缺少先决条件。以下是我使用 V=1 make 得到的结果

make: 进入目录 '/home/pi/Documents/nodemcu-firmware' PRUNE libmain.a libc.a /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/pi/Documents/nodemcu -固件/工具/工具链/esp8266-linux-x86_64-20181106.0/bin /home/pi/Documents/nodemcu-firmware/tools/toolchains/esp8266-linux-x86_64-20181106.0/bin/xtensa-lx106-elf-ar: 1: /home/pi/Documents/nodemcu-firmware/tools/toolchains/esp8266-linux-x86_64-20181106.0/bin/xtensa-lx106-elf-ar: 语法错误:“(”意外的 Makefile:331:目标配方 '/home/pi/Documents/nodemcu-firmware/sdk/.pruned-3.0-e4434aa' 失败 制作: *** [/home/pi/Documents/nodemcu-firmware/sdk/.pruned-3.0-e4434aa] 错误 2 make: 离开目录'/home/pi/Documents/nodemcu-firmware'

【问题讨论】:

在 RPi 上构建的目的是什么? RPi 适用于 ESP-01、3.3V 导轨和串行引脚...我一直在使用下载固件并想尝试使用直接构建。谢谢大家!!! 【参考方案1】:

根据documentation,

Linux 构建环境

NodeMCU 项目默认嵌入了适用于 Linux/x86-64 的现成工具链。

这意味着您只能在运行 x86-64 架构的 Linux 上构建它。由于 RPi 是基于 ARM 的,因此您无法在其上构建此项目。

【讨论】:

没错,但我们也有一个 Docker 镜像来构建。而且,至少在理论上,它也可以在 RPi 上运行。 .../esp8266-linux-x86_64-20181106.0/bin/xtensa-lx106-elf-ar - 这看起来有点像被解释为脚本的 x86_64 二进制文件。 Docker 不会也有 ARM 架构的问题吗? 我在 RPi 上尝试了 docker,但无法正常工作。我的解决方案是在 USB 驱动器上运行 Ubuntu 操作系统...

以上是关于构建 NodeMCU 固件的主要内容,如果未能解决你的问题,请参考以下文章

NodeMCU入坑指南-烧写固件并连接WIFI

ESP8266刷AT固件与nodemcu固件

如何在 Lua 中通过 ESP32 和 NodeMCU 使用蓝牙

NodeMCU学习笔记--- 硬件介绍固件制作烧录

NodeMCU学习笔记--- 硬件介绍固件制作烧录

NodeMCU学习笔记--- 硬件介绍固件制作烧录