Elk-projekti kehittää kompaktin JavaScript-moottorin mikro-ohjaimille

Elk 2.0.9 JavaScript -moottorin uusi julkaisu on saatavilla, ja se on tarkoitettu käytettäväksi resurssirajoitteisissa järjestelmissä, kuten mikro-ohjaimissa, mukaan lukien ESP32- ja Arduino Nano -kortit, joissa on 2 kilotavua RAM-muistia ja 30 kilotavua Flash. Mukana toimitetun virtuaalikoneen käyttämiseen riittää 100 tavua muistia ja 20 kt tallennustilaa. Projektikoodi on kirjoitettu C-kielellä ja sitä jaetaan GPLv2-lisenssillä. Projektin rakentamiseen riittää C-kääntäjä - lisäriippuvuuksia ei käytetä. Projektia kehittävät IoT-laitteiden käyttöjärjestelmän Mongoose OS, mJS JavaScript -moottori ja sulautettu Mongoose-verkkopalvelin (käytetään mm. Siemensin, Schneider Electricin, Broadcomin, Boschin, Googlen, Samsungin ja Qualcommin tuotteissa) ).

Elkin päätarkoituksena on luoda laiteohjelmistoja JavaScriptin mikrokontrollereille, jotka suorittavat erilaisia ​​automaatiotehtäviä. Moottori soveltuu myös JavaScript-käsittelijöiden upottamiseen C/C++-sovelluksiin. Jos haluat käyttää moottoria koodissasi, sijoita elk.c-tiedosto lähdepuuhun, sisällytä elk.h-otsikkotiedosto ja käytä js_eval-kutsua. C/C++-koodissa määriteltyjä toimintoja saa kutsua JavaScript-skripteistä ja päinvastoin. JavaScript-koodi suoritetaan suojatussa ympäristössä, joka on eristetty pääkoodista tulkin avulla, joka ei tuota tavukoodia eikä käytä dynaamista muistin varausta.

Elk toteuttaa pienen, mutta toimivan komentosarjojen luomiseen riittävän Ecmascript 6 -määrityksen osajoukon, erityisesti se tukee perusjoukkoa operaattoreita ja tyyppejä, mutta ei tue taulukoita, prototyyppejä, tätä, new ja delete lausekkeita. Ehdotetaan käytettäväksi let sijasta var ja const, ja while sijaan do, switch ja for. Ei vakiokirjastoa, ts. sellaisia ​​Date-, Regexp-, Function-, String- ja Number-objekteja ei ole.

Lähde: opennet.ru

Lisää kommentti