El projecte elk desenvolupa un motor JavaScript compacte per a microcontroladors

Hi ha disponible una nova versió del motor JavaScript elk 2.0.9, destinada a utilitzar-se en sistemes amb recursos limitats, com ara microcontroladors, incloses les plaques ESP32 i Arduino Nano amb 2 KB de RAM i 30 KB de flaix. Per fer funcionar la màquina virtual proporcionada, són suficients 100 bytes de memòria i 20 KB d'espai d'emmagatzematge. El codi del projecte està escrit en llenguatge C i es distribueix sota la llicència GPLv2. Per crear el projecte, n'hi ha prou amb un compilador C: no s'utilitzen dependències addicionals. El projecte està sent desenvolupat pels desenvolupadors del sistema operatiu per a dispositius IoT Mongoose OS, el motor JavaScript mJS i el servidor web incrustat Mongoose (utilitzat en productes d'empreses com Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung i Qualcomm). ).

El propòsit principal d'Elk és crear firmware per a microcontroladors en JavaScript que realitzin diverses tasques d'automatització. El motor també és adequat per incrustar controladors de JavaScript en aplicacions C/C++. Per utilitzar el motor al vostre codi, només heu de col·locar el fitxer elk.c a l'arbre font, incloure el fitxer de capçalera elk.h i utilitzar la crida js_eval. Es permet cridar funcions definides en codi C/C++ des de scripts JavaScript, i viceversa. El codi JavaScript s'executa en un entorn protegit aïllat del codi principal mitjançant un intèrpret que no genera bytecode i no utilitza assignació de memòria dinàmica.

Elk implementa un petit subconjunt de l'especificació Ecmascript 6, però suficient per crear scripts de treball. En particular, admet un conjunt bàsic d'operadors i tipus, però no admet matrius, prototips, this, new i delete expressions. Es proposa utilitzar let en comptes de var i const, i mentre que en comptes de fer, canviar i for. No s'ofereix cap biblioteca estàndard, és a dir. no hi ha aquests objectes Date, Regexp, Function, String i Number.

Font: opennet.ru

Afegeix comentari