Elk projekts izstrādā kompaktu JavaScript dzinēju mikrokontrolleriem

Ir pieejams jauns elk 2.0.9 JavaScript dzinēja laidiens, kas paredzēts izmantošanai sistēmās ar ierobežotiem resursiem, piemēram, mikrokontrolleriem, tostarp ESP32 un Arduino Nano plates ar 2KB RAM un 30KB Flash. Lai darbinātu nodrošināto virtuālo mašīnu, pietiek ar 100 baitiem atmiņas un 20 KB krātuves vietas. Projekta kods ir rakstīts C valodā un tiek izplatīts saskaņā ar GPLv2 licenci. Lai izveidotu projektu, pietiek ar C kompilatoru - netiek izmantotas papildu atkarības. Projektu izstrādā IoT ierīču operētājsistēmas Mongoose OS, mJS JavaScript dzinēja un iegultā Mongoose tīmekļa servera (izmanto tādos uzņēmumu produktos kā Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung un Qualcomm) izstrādātāji. ).

Elk galvenais mērķis ir izveidot programmaparatūru JavaScript mikrokontrolleriem, kas veic dažādus automatizācijas uzdevumus. Dzinējs ir piemērots arī JavaScript apdarinātāju iegulšanai C/C++ lietojumprogrammās. Lai savā kodā izmantotu programmu, vienkārši ievietojiet elk.c failu avota kokā, iekļaujiet elk.h galvenes failu un izmantojiet izsaukumu js_eval. C/C++ kodā definētās funkcijas ir atļauts izsaukt no JavaScript skriptiem un otrādi. JavaScript kods tiek izpildīts aizsargātā vidē, kas izolēta no galvenā koda, izmantojot tulku, kas neģenerē baitkodu un neizmanto dinamisko atmiņas piešķiršanu.

Elk ievieš nelielu Ecmascript 6 specifikācijas apakškopu, taču pietiekamu darba skriptu izveidei. Jo īpaši tā atbalsta operatoru un tipu pamata kopu, bet neatbalsta masīvus, prototipus vai šīs, jaunas un dzēšanas izteiksmes. Var un const vietā tiek piedāvāts lietot let, bet do vietā, switch un for. Nav nodrošināta standarta bibliotēka, t.i. nav šādu objektu Datums, Regexp, Function, String un Number.

Avots: opennet.ru

Pievieno komentāru