Elg-prosjektet utvikler en kompakt JavaScript-motor for mikrokontrollere

En ny utgivelse av elk 2.0.9 JavaScript-motoren er tilgjengelig, rettet mot bruk på ressursbegrensede systemer som mikrokontrollere, inkludert ESP32 og Arduino Nano-kort med 2KB RAM og 30KB Flash. For å betjene den medfølgende virtuelle maskinen er 100 byte minne og 20 KB lagringsplass tilstrekkelig. Prosjektkoden er skrevet på C-språk og distribuert under GPLv2-lisensen. For å bygge prosjektet er en C-kompilator nok - ingen ekstra avhengigheter brukes. Prosjektet utvikles av utviklerne av operativsystemet for IoT-enheter Mongoose OS, mJS JavaScript-motoren og den innebygde Mongoose webserveren (brukt i produkter fra selskaper som Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung og Qualcomm ).

Hovedformålet med Elk er å lage fastvare for mikrokontrollere i JavaScript som utfører ulike automatiseringsoppgaver. Motoren er også egnet for å bygge inn JavaScript-behandlere i C/C++-applikasjoner. For å bruke motoren i koden din, plasser bare elk.c-filen i kildetreet, inkluderer elk.h-headerfilen og bruk js_eval-kallet. Det er tillatt å kalle funksjoner definert i C/C++-kode fra JavaScript-skript, og omvendt. JavaScript-kode kjøres i et beskyttet miljø isolert fra hovedkoden ved hjelp av en tolk som ikke genererer bytekode og ikke bruker dynamisk minneallokering.

Elk implementerer et lite undersett av Ecmascript 6-spesifikasjonen, men tilstrekkelig for å lage fungerende skript. Spesielt støtter det et grunnleggende sett med operatører og typer, men støtter ikke arrays, prototyper, dette, nye og slette-uttrykk. Det foreslås å bruke let i stedet for var og const, og mens i stedet for do, bytte og for. Ingen standard bibliotek tilgjengelig, dvs. det er ingen slike Dato-, Regexp-, Function-, String- og Number-objekter.

Kilde: opennet.ru

Legg til en kommentar