Projekt elk razvija kompakten motor JavaScript za mikrokontrolerje

Na voljo je nova izdaja mehanizma JavaScript elk 2.0.9, namenjena uporabi v sistemih z omejenimi viri, kot so mikrokontrolerji, vključno s ploščami ESP32 in Arduino Nano z 2 KB RAM-a in 30 KB Flash. Za delovanje priloženega virtualnega stroja zadostuje 100 bajtov pomnilnika in 20 KB prostora za shranjevanje. Projektna koda je napisana v jeziku C in se distribuira pod licenco GPLv2. Za izdelavo projekta je dovolj prevajalnik C - ne uporabljajo se nobene dodatne odvisnosti. Projekt razvijajo razvijalci operacijskega sistema za naprave IoT Mongoose OS, mehanizma mJS JavaScript in vgrajenega spletnega strežnika Mongoose (uporablja se v izdelkih podjetij, kot so Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung in Qualcomm). ).

Glavni namen Elka je ustvariti vdelano programsko opremo za mikrokrmilnike v JavaScriptu, ki izvajajo različne naloge avtomatizacije. Motor je primeren tudi za vdelavo obdelovalcev JavaScript v aplikacije C/C++. Če želite uporabiti mehanizem v svoji kodi, samo postavite datoteko elk.c v izvorno drevo, vključite datoteko glave elk.h in uporabite klic js_eval. Dovoljeno je klicati funkcije, definirane v kodi C/C++ iz skriptov JavaScript, in obratno. Koda JavaScript se izvaja v zaščitenem okolju, izoliranem od glavne kode, z uporabo tolmača, ki ne ustvarja bajtne kode in ne uporablja dinamičnega dodeljevanja pomnilnika.

Elk izvaja majhno podmnožico specifikacije Ecmascript 6, vendar zadostuje za ustvarjanje delujočih skriptov.Zlasti podpira osnovni nabor operaterjev in tipov, vendar ne podpira nizov, prototipov, izrazov this, new in delete. Predlaga se uporaba let namesto var in const, medtem ko namesto do, switch in for. Standardna knjižnica ni na voljo, tj. takšnih objektov Date, Regexp, Function, String in Number ni.

Vir: opennet.ru

Dodaj komentar