Projekt elk razvija kompaktni JavaScript mehanizam za mikrokontrolere

Dostupno je novo izdanje elk 2.0.9 JavaScript motora, namijenjeno za korištenje na sustavima s ograničenim resursima kao što su mikrokontroleri, uključujući ESP32 i Arduino Nano ploče s 2 KB RAM-a i 30 KB Flash. Za rad isporučenog virtualnog stroja dovoljno je 100 bajtova memorije i 20 KB prostora za pohranu. Projektni kod je napisan u C jeziku i distribuiran pod GPLv2 licencom. Za izgradnju projekta dovoljan je C prevodilac - ne koriste se dodatne ovisnosti. Projekt razvijaju programeri operativnog sustava za IoT uređaje Mongoose OS, mJS JavaScript engine i ugrađenog Mongoose web poslužitelja (koji se koristi u proizvodima tvrtki kao što su Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung i Qualcomm ).

Glavna svrha Elk-a je stvaranje firmvera za mikrokontrolere u JavaScriptu koji obavljaju različite zadatke automatizacije. Motor je također prikladan za ugradnju JavaScript rukovatelja u C/C++ aplikacije. Da biste koristili mehanizam u svom kodu, samo postavite datoteku elk.c u izvorno stablo, uključite datoteku zaglavlja elk.h i upotrijebite poziv js_eval. Dopušteno je pozivati ​​funkcije definirane u C/C++ kodu iz JavaScript skripti i obrnuto. JavaScript kod se izvršava u zaštićenom okruženju izoliranom od glavnog koda pomoću tumača koji ne generira bajt kod i ne koristi dinamičku dodjelu memorije.

Elk implementira mali podskup specifikacije Ecmascript 6, ali dovoljan za stvaranje 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. Nema standardne knjižnice, tj. ne postoje takvi objekti Date, Regexp, Function, String i Number.

Izvor: opennet.ru

Dodajte komentar