Компиляция кода для NodeMCU с использованием Esplorer

Я использовал встроенный компилятор Esplorer для компиляции файлов.lua размером более 2 КБ и не могу его скомпилировать. Сброс NodeMCU и компиляция прервана. Есть ли способ компилировать файлы в избытке, используя Esplorer или любым другим способом, делая это вне среды Esplorer.

1 ответ

Решение

Вы можете кросс-компилировать на своем ПК перед загрузкой. Об этом есть глава в документации по адресу https://nodemcu.readthedocs.io/en/dev/en/upload/.

Если вы устанавливаете lua на свой компьютер для разработки или ноутбук, то вы можете использовать стандартный компилятор Lua для проверки синтаксиса любого источника Lua перед его загрузкой в ​​модуль ESP8266. Однако в выводе компилятора nodemcu используются разные типы данных (например, он поддерживает ROMtables), поэтому скомпилированный вывод не может работать на ESP8266.

Компиляция исходного кода на одной платформе для использования на другой (например, Intel x38 Window для ESP8266) называется кросс-компиляцией, а микропрограмма nodemcu поддерживает компиляцию luac.cross для паттернов *nix с Lua 5.1, модулем файловой системы Lua (lfs) и основные инструменты GCC. Просто перейдите в каталог с прошивкой root directoy и выполните команду:

lua tools/cross-lua.lua

В результате в вашем корневом каталоге будет сгенерирован исполняемый файл luac.cross, который можно использовать для компиляции и проверки синтаксиса исходного кода Lua на компьютере разработчика для выполнения под узлом mcu lua на ESP8266.

Другие вопросы по тегам