• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

компактный JavaScript-движок для микроконтроллеров

nikolz

Well-known member
Новый выпуск JavaScript-движка elk 2.0.9, для систем с ограниченными ресурсами, такими как микроконтроллеры,
включая платы ESP32 и Arduino Nano с 2 КБ ОЗУ и 30КБ Flash.
Для работы виртуальной машины достаточно 100 байт памяти и 20 КБ места на накопителе.
Код проекта написан на языке Си и распространяется под лицензией GPLv2.
Для сборки проекта достаточно Си-компилятора - дополнительные зависимости не используются.
Проект развивается разработчиками операционной системы для IoT-устройств Mongoose OS, JavaScript-движка mJS
и встраиваемого web-сервера Mongoose (применяется в продуктах таких компаний, как Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung и Qualcomm).

Основным назначением является создание прошивок для микроконтроллеров на языке JavaScript, выполняющих различные задачи автоматизации.
Движок также подходит для встраивания обработчиков на языке JavaScript в приложения на C/C++.
Для использования движка в своём коде достаточно поместить в дерево исходных текстов файл elk.c, подключить заголовочный файл elk.h и использовать вызов js_eval.
Допускается вызов из JavaScript-сценариев функций, определённых в коде на C/C++, и наоборот.
JavaScript-код выполняется в защищённом и изолированном от основного кода окружении с использованием интерпретатора,
не генерирующего байткод и не использующего динамическое выделение памяти.
Реализовано небольшое, но достаточное для создания рабочих сценариев, подмножество спецификации Ecmascript 6.
В частности, поддерживается базовый набор операторов и типов, но нет поддержки массивов, прототипов, выражений this, new и delete.
Вместо var и const предлагается использовать let, а вместо do, switch и for - while.
Не предоставляется стандартная библиотека, т.е. нет таких объектов Date, Regexp, Function, String и Number.
 
Сверху Снизу