Projekti elk zhvillon një motor kompakt JavaScript për mikrokontrolluesit

Një version i ri i motorit JavaScript elk 2.0.9 është i disponueshëm, që synon përdorimin në sisteme me burime të kufizuara si mikrokontrolluesit, duke përfshirë pllaka ESP32 dhe Arduino Nano me 2KB RAM dhe 30KB Flash. Për të përdorur makinën virtuale të ofruar, mjaftojnë 100 bajt memorie dhe 20 KB hapësirë ​​ruajtëse. Kodi i projektit është shkruar në C dhe shpërndahet nën licencën GPLv2. Për të ndërtuar projektin, mjafton një përpilues C - nuk përdoren varësi shtesë. Projekti po zhvillohet nga zhvilluesit e sistemit operativ për pajisjet IoT Mongoose OS, motori mJS JavaScript dhe serveri i integruar i internetit Mongoose (përdorur në produkte nga kompani të tilla si Siemens, Schneider Electric, Broadcom, Bosch, Google, Samsung dhe Qualcomm ).

Qëllimi kryesor i Elk është të krijojë firmware për mikrokontrolluesit në JavaScript që kryejnë detyra të ndryshme automatizimi. Motori është gjithashtu i përshtatshëm për futjen e mbajtësve JavaScript në aplikacionet C/C++. Për të përdorur motorin në kodin tuaj, thjesht vendosni skedarin elk.c në pemën burimore, përfshini skedarin e kokës elk.h dhe përdorni thirrjen js_eval. Lejohet thirrja e funksioneve të përcaktuara në kodin C/C++ nga skriptet JavaScript dhe anasjelltas. Kodi JavaScript ekzekutohet në një mjedis të mbrojtur të izoluar nga kodi kryesor duke përdorur një interpretues që nuk gjeneron bytekod dhe nuk përdor shpërndarje dinamike të memories.

Elk zbaton një nëngrup të vogël të specifikimit Ecmascript 6, por i mjaftueshëm për krijimin e skripteve të punës. Në veçanti, ai mbështet një grup bazë operatorësh dhe llojesh, por nuk mbështet vargje, prototipe, shprehje të tilla, të reja dhe të fshirjes. Është propozuar të përdoret let në vend të var dhe const, dhe while në vend të do, switch dhe for. Nuk ofrohet një bibliotekë standarde, d.m.th. nuk ka objekte të tilla Date, Regexp, Function, String dhe Number.

Burimi: opennet.ru

Shto një koment