Az elk projekt egy kompakt JavaScript motort fejleszt mikrokontrollerekhez

Megjelent az elk 2.0.9 JavaScript-motor új kiadása, amely erőforrás-korlátozott rendszereken, például mikrokontrollereken használható, beleértve az ESP32 és Arduino Nano kártyákat 2 KB RAM-mal és 30 KB Flash-vel. A mellékelt virtuális gép működtetéséhez 100 bájt memória és 20 KB tárhely elegendő. A projekt kódja C nyelven íródott, és a GPLv2 licenc alatt kerül terjesztésre. A projekt felépítéséhez elegendő egy C fordító – nincs szükség további függőségekre. A projektet az IoT eszközök operációs rendszerének, a Mongoose OS-nek, az mJS JavaScript motornak és a beágyazott Mongoose webszervernek a fejlesztői fejlesztik (amelyet olyan cégek termékeiben használnak, mint a Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung és Qualcomm ).

Az Elk fő célja, hogy firmware-t hozzon létre a JavaScript-ben működő mikrokontrollerekhez, amelyek különféle automatizálási feladatokat hajtanak végre. A motor alkalmas JavaScript-kezelők C/C++ alkalmazásokba való beágyazására is. A motor kódjában való használatához csak helyezze el az elk.c fájlt a forrásfába, tartalmazza az elk.h fejlécfájlt, és használja a js_eval hívást. Engedélyezett a C/C++ kódban definiált függvények meghívása JavaScript-szkriptekből, és fordítva. A JavaScript kódot a fő kódtól elkülönített védett környezetben hajtják végre olyan értelmező segítségével, amely nem generál bájtkódot és nem használ dinamikus memóriafoglalást.

Az Elk az Ecmascript 6 specifikáció egy kis részhalmazát valósítja meg, de elegendő a működő szkriptek létrehozásához, különösen támogatja az operátorok és típusok alapvető halmazát, de nem támogatja a tömböket, prototípusokat, illetve ezt, új és delete kifejezéseket. Javasoljuk, hogy a var és const helyett a letet használja, a do helyett pedig a switch and for-t. Nincs szabványos könyvtár, pl. nincsenek ilyen dátum, reguláris kifejezés, függvény, karakterlánc és szám objektumok.

Forrás: opennet.ru

Hozzászólás