Projekat elk razvija kompaktni JavaScript motor za mikrokontrolere

Dostupno je novo izdanje elk 2.0.9 JavaScript motora, koje ima za cilj upotrebu na sistemima sa ograničenim resursima kao što su mikrokontroleri, uključujući ESP32 i Arduino Nano ploče sa 2KB RAM-a i 30KB Flash. Za rad sa obezbeđenom virtuelnom mašinom dovoljno je 100 bajtova memorije i 20 KB prostora za skladištenje. Projektni kod je napisan u jeziku C i distribuira se pod GPLv2 licencom. Za izgradnju projekta dovoljan je C kompajler - ne koriste se dodatne zavisnosti. Projekat razvijaju programeri operativnog sistema za IoT uređaje Mongoose OS, mJS JavaScript engine i ugrađeni Mongoose web server (koristi se u proizvodima kompanija kao što su Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung i Qualcomm ).

Glavna svrha Elk-a je kreiranje firmvera za mikrokontrolere u JavaScript-u koji obavljaju različite zadatke automatizacije. Motor je takođe pogodan za ugrađivanje JavaScript rukovalaca u C/C++ aplikacije. Da biste koristili motor u svom kodu, samo postavite datoteku elk.c u izvorno stablo, uključite datoteku zaglavlja elk.h i koristite poziv js_eval. Dozvoljeno je pozivanje funkcija definiranih u C/C++ kodu iz JavaScript skripti, i obrnuto. JavaScript kod se izvršava u zaštićenom okruženju izolovanom od glavnog koda koristeći interpreter koji ne generiše bajt kod i ne koristi dinamičku alokaciju memorije.

Elk implementira mali podskup specifikacije Ecmascript 6, ali dovoljan za kreiranje radnih skripti. Konkretno, podržava osnovni skup operatora i tipova, ali ne podržava nizove, prototipove, izraze this, new i delete. Predlaže se korištenje let umjesto var i const, a while umjesto do, switch i for. Nije obezbeđena standardna biblioteka, tj. ne postoje takvi objekti Datum, Regexp, Function, String i Number.

izvor: opennet.ru

Dodajte komentar