Proiectul elk dezvoltă un motor JavaScript compact pentru microcontrolere

Este disponibilă o nouă versiune a motorului JavaScript elk 2.0.9, destinată utilizării pe sisteme cu resurse limitate, cum ar fi microcontrolere, inclusiv plăci ESP32 și Arduino Nano cu 2KB RAM și 30KB Flash. Pentru a opera mașina virtuală furnizată, sunt suficienti 100 de octeți de memorie și 20 KB de spațiu de stocare. Codul proiectului este scris în limbaj C și distribuit sub licență GPLv2. Pentru a construi proiectul, este suficient un compilator C - nu sunt folosite dependențe suplimentare. Proiectul este dezvoltat de dezvoltatorii sistemului de operare pentru dispozitivele IoT Mongoose OS, motorul JavaScript mJS și serverul web încorporat Mongoose (utilizat în produse de la companii precum Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung și Qualcomm). ).

Scopul principal al Elk este de a crea firmware pentru microcontrolere în JavaScript care efectuează diverse sarcini de automatizare. Motorul este, de asemenea, potrivit pentru încorporarea handlerelor JavaScript în aplicațiile C/C++. Pentru a utiliza motorul în codul dvs., plasați fișierul elk.c în arborele sursă, includeți fișierul antet elk.h și utilizați apelul js_eval. Este permisă apelarea funcțiilor definite în codul C/C++ din scripturi JavaScript și invers. Codul JavaScript este executat într-un mediu protejat izolat de codul principal folosind un interpret care nu generează bytecode și nu utilizează alocarea dinamică a memoriei.

Elk implementează un mic subset al specificației Ecmascript 6, dar suficient pentru a crea scripturi de lucru.În special, acceptă un set de bază de operatori și tipuri, dar nu acceptă matrice, prototipuri, expresii this, new și delete. Se propune să folosiți let în loc de var și const, iar în timp ce în loc de do, comutați și pentru. Nu este furnizată nicio bibliotecă standard, de ex. nu există astfel de obiecte Date, Regexp, Function, String și Number.

Sursa: opennet.ru

Adauga un comentariu