使用Esplorer为NodeMCU编译代码

我使用Esplorer的内置编译器来编译超过2KB的.lua文件,但无法编译。NodeMCU重置并中止编译。有没有办法在Esplorer或其他方式之外编译超过限制的文件。

点赞
用户131929
用户131929

你可以在上传之前在PC上进行交叉编译。有一章关于此的文档在https://nodemcu.readthedocs.io/en/dev/en/upload/#compiling-lua-on-your-pc-for-uploading

如果你在开发PC或笔记本上安装了 Lua,那么你可以使用标准 Lua 编译器在下载到 ESP8266 模块前对任何 Lua 源进行语法检查。不过,nodemcu 编译器的输出使用不同的数据类型(比如支持 ROMtables),所以编译后的输出不能在 ESP8266 上运行。

将源代码在一个平台上编译并在另一个平台上使用(比如从 Intel x38 Window 到 ESP8266)被称为交叉编译,nodemcu 固件支持在有 Lua 5.1、Lua 文件系统模块(lfs)和必要的 GCC 工具的 *nix 平台上编译 luac.cross。只需切换到固件根目录并运行以下命令:

lua tools/cross-lua.lua

这会在你的根目录生成一个 luac.cross 可执行文件,用于在开发机器上编译和语法检查 Lua 源,以在 ESP8266 上使用 nodemcu lua 运行。

2016-06-22 06:31:14